2013-05-18 125 views
3

我试图在Google App Engine上本地运行示例php脚本。安装“Memcache”PECL扩展后无法运行PHP运行时

Installing the PHP SDK on LinuxGoogle Developer Docs上,我跳过安装PHP,因为我已经在我的Ubuntu系统上安装了它,因为之前将它安装为sudo apt-get install php5 and php 5-*。我php-cgi/usr/bin/php-cgi

python google_appengine/dev_appserver.py --php_executable_path=/usr/bin/php-cgi Dropbox/webapps/helloworld/ 
INFO  2013-05-18 14:10:06,849 sdk_update_checker.py:244] Checking for updates to the SDK. 
INFO  2013-05-18 14:10:10,024 sdk_update_checker.py:260] Update check failed: HTTP Error 404: Not Found 
WARNING 2013-05-18 14:10:10,554 simple_search_stub.py:962] Could not read search indexes from /tmp/appengine.helloworld.epqrs-mango/search_indexes 
INFO  2013-05-18 14:10:10,557 api_server.py:153] Starting API server at: http://localhost:42925 
INFO  2013-05-18 14:10:10,590 dispatcher.py:164] Starting server "default" running at: http://localhost:8080 
INFO  2013-05-18 14:10:10,592 admin_server.py:117] Starting admin server at: http://localhost:8000 
ERROR 2013-05-18 14:10:10,915 php_runtime.py:199] The PHP runtime is not available because: The PHP runtime cannot be run with the "Memcache" PECL extension installed 

所以什么可能是错误的原因是什么?现有的PHP安装程序是否无法运行?

+1

我相信GAE有它自己的内置分布式缓存的版本 - 你将不再需要或能够安装PECL版本。 – Danack

+1

Danack - 将您的评论添加为答案,因为它是正确的。 –

回答

2

ERROR 2013年5月18日14:10:10915 php_runtime.py:199] PHP运行时不可用,因为:PHP运行时可使用 “记忆快取” PECL扩展运行未安装


那么可能是错误的原因是什么?

错误的原因是您没有正确安装适用于App Engine Development服务器的PHP

难道不可以与现有的PHP设置一起运行吗?

这不仅取决于开发服务器,还取决于您现有的PHP设置。对于您的特定设置,您需要禁用“Memcache”PECL扩展。我假设你还没有编译它,所以你只需要(暂时)改变你的php.ini文件。

您可以使用不同的配置沿着现有的PHP设置运行它(请参阅the PHPRC environment variable)。这可能不是一个开箱即用的体验,所以期望稍微摆弄一下,直到找到完美的设置和工作流程。

对于您应该考虑建立相同的PHP版本安装在并行开发机器上的兼容性原因,也可在谷歌应用程序引擎(如PHP 5.4.8截至目前)。您可以在同一个系统上安装多个PHP版本,但是,Ubuntu软件包管理器不会涵盖此版本。

4

您必须在您的php设置中禁用memcache的扩展。

运行命令:

php --ini 

您将得到扩展名的列表。

打开内存缓存的INI文件,如:

/etc/php.d/memcache.ini 
/etc/php.d/memcached.ini 

禁用内存缓存模块:

; extension=memcache.so 
; extension=memcached.so