是否可以仅针对特定文件忽略 php.ini 中禁用的功能?
Is it possible to ignore disabled functions in php.ini for a particular file only?
我有一个 Linux VPS 托管我的网站。它是 VPS 上唯一托管的网站。出于安全原因,我禁用了所有允许执行 shell 命令的 php 函数,特别是,我禁用了它们以防止攻击者用于黑客攻击的 PHP shells系统无法正常工作。
最近,我一直在考虑在我的服务器上使用无损 JPEG 压缩来优化我的用户上传的照片。我对 Whosebug 进行了彻底的研究,并意识到我需要在我的服务器上安装一些程序。要将它们用于压缩,这些程序应该通过 shell 访问 运行,但这是我不允许的。
所以,我的问题是:我是否可以强制 php 忽略我在 php.ini 中仅针对一个特定文件(或在最坏情况下针对特定目录)禁用的功能在服务器上?如果没有,是否有任何解决方法可以解决我的问题?
谢谢
简短的回答是否。
.....
This directive must be set in php.ini For example, you cannot set this in httpd.conf.
或者,您可以使用以下解决方案之一:
- https://github.com/kraken-io/kraken-php
- https://github.com/keycdn/php-optimus-api
- 使用 Imagick 库:Imagick::setImageCompressionQuality with a quality near to 100, it is considered almost lossless
或
- 定义一些 cron 作业,每隔 X 次为您执行一次,这意味着图像不会立即包含。
我有一个 Linux VPS 托管我的网站。它是 VPS 上唯一托管的网站。出于安全原因,我禁用了所有允许执行 shell 命令的 php 函数,特别是,我禁用了它们以防止攻击者用于黑客攻击的 PHP shells系统无法正常工作。
最近,我一直在考虑在我的服务器上使用无损 JPEG 压缩来优化我的用户上传的照片。我对 Whosebug 进行了彻底的研究,并意识到我需要在我的服务器上安装一些程序。要将它们用于压缩,这些程序应该通过 shell 访问 运行,但这是我不允许的。
所以,我的问题是:我是否可以强制 php 忽略我在 php.ini 中仅针对一个特定文件(或在最坏情况下针对特定目录)禁用的功能在服务器上?如果没有,是否有任何解决方法可以解决我的问题?
谢谢
简短的回答是否。
.....
This directive must be set in php.ini For example, you cannot set this in httpd.conf.
或者,您可以使用以下解决方案之一:
- https://github.com/kraken-io/kraken-php
- https://github.com/keycdn/php-optimus-api
- 使用 Imagick 库:Imagick::setImageCompressionQuality with a quality near to 100, it is considered almost lossless
或
- 定义一些 cron 作业,每隔 X 次为您执行一次,这意味着图像不会立即包含。