PHP运行时无法使用安装了“Memcache”PECL扩展的环境。

3

我正在尝试在本地运行Google App Engine上的一个PHP示例脚本。

在Linux上安装PHP SDK Google开发者文档中,我跳过了安装PHP的步骤,因为我已经通过之前使用sudo apt-get install php5和php 5-*在Ubuntu系统上安装了它。我的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有自己内置的memcached版本 - 你不需要也无法安装PECL版本。 - Danack
1
Danack - 把你的评论作为答案添加,因为它是正确的。 - Stuart Langley
2个回答

5

您需要在PHP设置中禁用Memcache的扩展。

运行以下命令:

 php --ini

您将获得一个扩展列表。
打开memcache的ini文件,例如:
/etc/php.d/memcache.ini
/etc/php.d/memcached.ini

禁用memcache模块:

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

2

错误 2013-05-18 14:10:10,915 php_runtime.py:199] 出现了这个错误原因是:由于安装了“Memcache”PECL扩展,无法运行PHP运行时。


那么出现这个错误的原因可能是什么呢?

出现这个错误的原因是您没有正确地为App Engine开发服务器安装PHP。

不能在现有的PHP设置中运行吗?

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

您可以通过使用不同的配置(也可以参见“PHPRC”环境变量)与现有的PHP设置同时运行。这可能不是一次性的体验,因此请准备好进行一些调整,直到找到完美的设置和工作流程。

出于兼容性原因,您应考虑在开发计算机上建立与Google App Engine上可用的相同PHP版本的设置(例如,目前的PHP 5.4.8)。您可以在同一系统上安装多个PHP版本,但是这不包含在Ubuntu软件包管理器中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接