【问题标题】:Cannot run exec() from apache centos无法从 apache centos 运行 exec()
【发布时间】:2013-12-09 13:46:09
【问题描述】:

我正在尝试通过使用 exec() 命令从 php 调用它来在 centos 中运行可执行文件。 exe 在命令行中运行,但是当我通过 php 调用它并从浏览器中检查时,它不会执行 exe。我已经为exe设置了文件权限。我需要在 apache 配置文件中更改什么以启用可执行文件吗?

【问题讨论】:

  • 也许 exec() 在 php.ini 中的 disabled_functions 下被禁用了?

标签: php apache centos


【解决方案1】:

检查php.ini 上的disabled_functions 字符串,并删除exec 函数(如果已列出)。

如果你有一个,你也可以通过在你的.htaccess 中重置你的disabled_function 来启用它:

php_flag disable_function

编辑:正如@nrathaus 所说。如果您无法更改php.ini 文件或无法覆盖.htaccess 中的设置(例如:如果您有一个简单的网站托管解决方案),您必须联系此服务器的管理员并要求他启用@ 987654329@函数。

【讨论】:

  • 您假设他有能力覆盖.htaccess,可能是他在共享服务器上运行,并且它被禁用(全局)
  • @nrathaus:是的。那如果真是这样,我们也帮不了他了。他必须联系服务器的管理员。
  • 我同意,这就是为什么我建议你也写这个,只要服务器管理员没有在 php.ini 中禁用它,一切都很好:}
  • pnp.ini 中没有禁用的功能,它是空的。我尝试了 exec('whoami') 并且运行正常。但我无法运行我的 exe。是因为权限吗?我应该把exe放在哪里?
  • 嗯。您是否编写了可执行文件的完整路径?例如:exec('C:\yourPath\hello.exe')
猜你喜欢
  • 1970-01-01
  • 2016-04-21
  • 2020-06-08
  • 2014-10-25
  • 2013-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
相关资源
最近更新 更多