我正在尝试在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设置一起运行它?
答案 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软件包管理器不会涵盖这一点。