【发布时间】:2016-02-10 05:52:38
【问题描述】:
我正在尝试启用 Laravel 所需的一些 php 扩展。 php.ini 文件 (https://cloud.google.com/appengine/docs/php/config/php_ini) 的文档说将 php.ini 文件放在应用程序的根目录中。
这就是我的php.ini 的样子:
extension=openssl.so
extension=pdo.so
extension=tokenizer.so
extension=mbstring.so
google_app_engine.enable_functions = "php_sapi_name, php_uname"
当我部署它时,我的日志显示:
PHP Warning: PHP Startup: Unable to load dynamic library '/base/php_runtime/modules/openssl.so' - /base/php_runtime/modules/openssl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/base/php_runtime/modules/pdo.so' - /base/php_runtime/modules/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/base/php_runtime/modules/tokenizer.so' - /base/php_runtime/modules/tokenizer.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/base/php_runtime/modules/mbstring.so' - /base/php_runtime/modules/mbstring.so: cannot open shared object file: No such file or directory in Unknown on line 0
我已尝试更改格式化php.ini 中的扩展名的方式:
extension="openssl.so"
extension="openssl.dll"
extension="php_openssl.so"
extension="php_openssl.dll"
我用引号试过了,没有引号。它们之间有空格,没有它们。我不确定还能尝试什么。
【问题讨论】:
-
这些库可用吗? cloud.google.com/appengine/docs/php/… 好像不是(我不知道为什么)。
-
我已经找到了问题所在。文档说这些模块已经加载。并且只有
imagick、curl、mongo和intl需要显式添加到php.ini。 -
删除
extension=*行修复了它。 -
如果可以,请将其发布为答案。
-
用我的解决方案发布了答案。
标签: php google-app-engine laravel php-extension php-ini