Lou*_*Lou 5 php google-app-engine php-extension php-ini laravel
我正在尝试启用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"
Run Code Online (Sandbox Code Playgroud)
当我部署它时,我的日志说:
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
Run Code Online (Sandbox Code Playgroud)
我试过改变我格式化扩展的方式php.ini:
extension="openssl.so"
extension="openssl.dll"
extension="php_openssl.so"
extension="php_openssl.dll"
Run Code Online (Sandbox Code Playgroud)
我用引号试了一下,没有它们.它们之间有空格,没有它们.我不知道还有什么可以尝试的.
我解决了这个问题。
当您在本地提供应用程序以及部署时,App Engine 会使用php.ini应用程序根目录中的文件。
问题是,当我在本地运行它时,我需要输入extension=*行php.ini来加载必要的扩展。当我使用这些行部署它时php.ini,我收到了我在问题中报告的错误。
我的解决方案是有两个不同版本的php.ini:php.ini.local和php.ini.dev。
php.ini.local:
extension=mbstring.so
extension=pdo.so
extension=openssl.so
extension=tokenizer.so
google_app_engine.enable_functions = "php_sapi_name, php_uname"
Run Code Online (Sandbox Code Playgroud)
php.ini.dev:
google_app_engine.enable_functions = "php_sapi_name, php_uname"
Run Code Online (Sandbox Code Playgroud)
并根据我的需要使用 Makefile 将 php.ini 替换为开发版本或本地版本。
Makefile:
deploy:
cp php.ini.dev php.ini
# Code used to deploy
serve:
cp php.ini.local php.ini
# Code used to serve locally
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1928 次 |
| 最近记录: |