首页 >后端开发 >php教程 >为什么我的 PHP exec() 函数不工作?

为什么我的 PHP exec() 函数不工作?

Linda Hamilton
Linda Hamilton原创
2024-12-14 21:37:19684浏览

Why Isn't My PHP exec() Function Working?

PHP 中的 exec() 函数故障排除

面对 exec() 函数的问题可能会令人沮丧,尤其是当它不产生任何结果时效果明显。本文提供了一个全面的指南来帮助您调试和解决此类问题。

问题:
尽管禁用了 safe_mode 和,但 exec() 函数无法在服务器上执行命令验证控制台命令的功能。应用程序的权限已正确设置。

代码片段:
已尝试以下代码片段:

echo exec('/usr/bin/whoami');

echo exec('whoami');

exec('whoami 2>&1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}

exec('/usr/bin/whoami 2>&amp;1',$output,$return_val);
if($return_val !== 0) {
    echo 'Error<br>';
    print_r($output);   
}

最后两个代码片段显示错误和空数组。服务器支持无法提供帮助。

解决方案:

  1. 检查disable_functions:

    • 导航到 /etc/php.ini 并检查 exec 是否列在下面disable_functions。
    • 如果存在,请将其删除并重新启动 Apache。
  2. 启用调试模式:

    • 为了更轻松地调试,请使用以下命令code:

      #!/usr/bin/php
      ini_set("display_errors", 1);
      ini_set("track_errors", 1);
      ini_set("html_errors", 1);
      error_reporting(E_ALL);
    • 手动执行脚本:chmod x myscript.php 和 ./myscript.php。
  3. 权限问题:

    • 创建 bash 脚本执行一个简单的命令,例如 echo“hello world”。
    • 使用 chmod 755 设置文件和文件夹的权限。
    • 尝试运行脚本。

以上是为什么我的 PHP exec() 函数不工作?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn