当前位置: 首页 > 知识库问答 >
问题:

disable_functions使用PHP[PATH]部分配置时忽略本地值

伊锦
2023-03-14

我对PHP禁用函数有问题。在运行suPHP FastCGI PHP的Apache服务器中

php。ini文件

...
disable_functions = shell_exec, exec

[PATH=/home/someuser/public_html]
disable_functions =
...

如果我用phpinfo文件检查virtualhost中的php配置,我会得到正确的预期值。Disable_functions指令的本地值=no value,主值=shell_exec,exec。但是,如果我运行一个使用shell_exec的测试脚本,服务器会阻止它,并显示一个错误,表明出于安全原因已禁用shell_exec。这意味着PHP将忽略disable_函数的本地值,而使用主值。

我无法理解为什么它不能像预期的那样工作,因为[PATH][HOST]PHP节文档应该可以在这些节上配置disable函数。在文档部分中,不应仅使用扩展和zend_扩展指令。

我已经用其他指令PHP_INI_系统甚至一个PHP进行了测试。ini only指令(expose_php),所有这些都按预期工作。所以我完全迷路了,我不明白发生了什么。

为了完整性,我在运行FastCGI SuExec PHP的Apache服务器上进行了测试

有人知道这不起作用的原因吗?这是一个PHP错误吗?有什么我没考虑到的吗?

共有1个答案

屠瑞
2023-03-14

PHP手册中明确指出,禁用函数只能在主PHP中设置。伊尼。本地值可以通过phpinfo()设置并可见,但似乎没有任何影响(至少在PHP5.5上是这样)。

为了解决这个问题,我使用了per-vhostauto_prepend_file(或者一个全局的per-vhost子包含)。该脚本包括调用uopz_delete()。如果uopz PECL扩展不适用于您的PHP版本或操作系统等。您可以尝试其他扩展,如APD或runkit,因为它们具有删除/隐藏其他PHP函数的类似功能。

uopz的解决方案已经在一些运行Ubuntu和PHP5.5的生产服务器上进行了测试。9.它似乎不会严重影响性能,也不会造成任何不稳定性。

 类似资料:
  • 有什么办法能做到这一点吗? 谢谢!

  • 由于某些原因,我无法将CURL与HTTPS一起使用。在我升级curl库之前,一切都很正常。现在,我在尝试执行CURL请求时遇到了这种响应:SSL CA证书(路径?访问权限?)有问题 以下是关于相关问题的建议,我试图做到以下几点: > 启用并指向从http://curl.haxx.se/docs/caextract.html下载的cacert.pem 我也试着用positiveSSL做同样的事情。c

  • 问题内容: 我有以下json文件: 但是java模型如下: Jackson解析时会引发异常,因为“ externalId”字段没有getter或setter方法。有没有可以用来忽略json字段的装饰器? 问题答案: 您可以使用注释;如果这只是您要跳过的一个值,则类似于: 或忽略任何无法使用的东西: 还有其他方法可以做到这一点,其余的请查看FasterXML Jackson wiki 。

  • 我正在Debian8上使用PHP5.6.17。在建立owncloud之后,我注意到owncloud(而不是apache)自写的日志有错误的时区。 我调查了一下,好像,那一行: 这不关心任何时区设置。而不是欧洲/柏林(+1/+2)的时间,我总是得到UTC的时间。 在中,我设置了并且系统时间(debian)也是正确的。 即使运行如下所示,也会得到相同的输出(UTC): 对这个问题有什么想法吗?

  • 问题内容: 我想用我的主要Java项目及其所有依赖项创建一个jar文件。所以我在pom文件中创建了以下插件定义: 所以我执行,将所有的依赖复制到而不是复制上,效果很好。有任何想法吗? 问题答案: 正常:您配置了名为的特殊执行,但是,直接在命令行上调用目标会创建默认执行,该默认执行与您配置的执行不同。因此,不会考虑您的配置。 在Maven中,可以在2个地方配置插件:用于所有执行(在级别使用)或用于每

  • 我定义了“静态”hazelcast配置: 其中“10.0.0.2”是我的localhostip。我只希望将hazelcast的一个实例添加到我的tcpIpConfig成员中。我的朋友坐在同一个网络中,拥有编号为“10.0.0.3”的IP。他懒得从git上共享的属性文件中更改密码和组名,并且正在连接到我的集群。为什么他能够连接到我的集群?我如何防止这种情况?