无法在安装了“Memcache”PECL扩展的情况下运行PHP运行时

时间:2013-05-18 14:22:24

标签: php google-app-engine memcached

我正在尝试在Google App Engine上运行示例php脚本。

Installing the PHP SDK on Linux Google 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设置一起运行它?

2 个答案:

答案 0 :(得分:5)

您必须使用php设置禁用memcache的扩展名。

运行命令:

 php --ini

您将获得扩展程序列表。

打开memcache的ini文件,如:

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

禁用内存缓存模块:

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

答案 1 :(得分:2)

  

错误2013-05-18 14:10:10,915 php_runtime.py:199] PHP运行时不可用,因为:PHP运行时无法在安装了“Memcache”PECL扩展程序的情况下运行


  

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

错误的原因是您没有为App Engine开发服务器正确安装PHP

  

是否无法与现有的PHP设置一起运行?

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

您可以使用不同的配置在现有的PHP设置中运行它(另请参阅the PHPRC environment variable)。这可能不是一种开箱即用的体验,所以在您找到完美的设置和工作流程之前,请放心一点。

出于兼容性原因,您应该考虑在您的开发计算机上并行设置相同的PHP版本,该版本也可以在Google App Engine上使用(例如,PHP 5.4.8截至目前)。您可以在同一系统上安装多个PHP版本,但是,Ubuntu软件包管理器不会涵盖这一点。