PHP : 在 GAE 标准环境中启用 Ioncube 加载器扩展
PHP : enable Ioncube loader extension in GAE standard environment
我在 google App Engine 标准环境中启用 ioncube 加载程序扩展时遇到问题,
我收到此错误:
NOTICE: PHP message: PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0
我已经在 php.ini 文件的第一个中添加了它:
zend_extension = /srv/modules/ioncube_loader_lin_7.2.so
asp_tags = Off
display_errors = Off
max_execution_time = 3600
max_input_time = 3600
max_input_vars = 1000
memory_limit = 512M
post_max_size = 128M
session.gc_maxlifetime = 1440
upload_max_filesize = 1G
zlib.output_compression = On
我想我需要将它添加到默认 php.ini 文件中才能首先执行,但我不知道如何重写默认 php.ini 文件或替换它...
首先您需要将环境更改为 flex 并使用自定义运行时
添加dockerfile
将您的应用移至子目录 www
创建子目录config并在其中创建空的php.ini文件
下载ioncube loader并将其移动到主目录
目录:
-config
php.ini
-www
app.yaml
composer.json
dockerfile
ioncube_loader_lin_7.2.so
app.yaml :
runtime: custom
env: flex
runtime_config:
document_root: www
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
composer.json :
{
"require": {
"php": "7.2.*"
}
}
Docker 文件:
# Dockerfile extending the generic PHP image with application files for a
# single application.
FROM gcr.io/google-appengine/php:latest
# environment variable.
ENV DOCUMENT_ROOT /app/www
# copy default php.ini to txt file
RUN cp /opt/php72/lib/php.ini www/phpconfig.txt
之后部署您的应用程序并导航 txt 文件 url "yourdomain.com/phpconfig.txt" 复制包含并将其添加到您的 config/php.ini
不要忘记在第一行添加 ioncube :
zend_extension = "/app/ioncube_loader_lin_7.2.so"
再次编辑 dockerfile :
# Dockerfile extending the generic PHP image with application files for a
# single application.
FROM gcr.io/google-appengine/php:latest
# environment variable.
ENV DOCUMENT_ROOT /app/www
COPY config/php.ini /opt/php72/lib/php.ini
然后部署您的应用程序即可。
我在 google App Engine 标准环境中启用 ioncube 加载程序扩展时遇到问题, 我收到此错误:
NOTICE: PHP message: PHP Fatal error: [ionCube Loader] The Loader must appear as the first entry in the php.ini file in Unknown on line 0
我已经在 php.ini 文件的第一个中添加了它:
zend_extension = /srv/modules/ioncube_loader_lin_7.2.so
asp_tags = Off
display_errors = Off
max_execution_time = 3600
max_input_time = 3600
max_input_vars = 1000
memory_limit = 512M
post_max_size = 128M
session.gc_maxlifetime = 1440
upload_max_filesize = 1G
zlib.output_compression = On
我想我需要将它添加到默认 php.ini 文件中才能首先执行,但我不知道如何重写默认 php.ini 文件或替换它...
首先您需要将环境更改为 flex 并使用自定义运行时
添加dockerfile
将您的应用移至子目录 www
创建子目录config并在其中创建空的php.ini文件
下载ioncube loader并将其移动到主目录
目录:
-config
php.ini
-www
app.yaml
composer.json
dockerfile
ioncube_loader_lin_7.2.so
app.yaml :
runtime: custom
env: flex
runtime_config:
document_root: www
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
composer.json :
{
"require": {
"php": "7.2.*"
}
}
Docker 文件:
# Dockerfile extending the generic PHP image with application files for a
# single application.
FROM gcr.io/google-appengine/php:latest
# environment variable.
ENV DOCUMENT_ROOT /app/www
# copy default php.ini to txt file
RUN cp /opt/php72/lib/php.ini www/phpconfig.txt
之后部署您的应用程序并导航 txt 文件 url "yourdomain.com/phpconfig.txt" 复制包含并将其添加到您的 config/php.ini 不要忘记在第一行添加 ioncube :
zend_extension = "/app/ioncube_loader_lin_7.2.so"
再次编辑 dockerfile :
# Dockerfile extending the generic PHP image with application files for a
# single application.
FROM gcr.io/google-appengine/php:latest
# environment variable.
ENV DOCUMENT_ROOT /app/www
COPY config/php.ini /opt/php72/lib/php.ini
然后部署您的应用程序即可。