gpt4 book ai didi

php - 如何在 PHP 中执行 shell 脚本?

转载 作者:IT王子 更新时间:2023-10-28 23:53:13 26 4
gpt4 key购买 nike

我在 /var/www/myscript.sh 中有一个脚本,它为我的项目创建文件夹并运行命令 svn update。我需要通过在浏览器的 PHP 文件中调用它来执行此脚本(即 Localhost/test.php)。我尝试使用函数 shell_exec()exec() 但它们不起作用。我在终端中使用 su www-data && ./myscript.sh 运行了我的 shell 脚本,它成功了。我还缺少什么?

<?php
$output = shell_exec("./myscript.sh");
?>

2011 年 5 月 4 日更新:

我将 www-data ALL=(ALL) NOPASSWD:ALL 添加到/etc/sudoers 并且它有效,但这是非常不安全的。还有其他方法吗?

最佳答案

几种可能性:

  • 您已启用安全模式。这样,只有 exec() 工作,然后只在 safe_mode_exec_dir 中的可执行文件上工作。
  • execshell_exec 在 php.ini 中被禁用
  • 可执行文件的路径错误。如果脚本与 php 文件位于同一目录中,请尝试 exec(dirname(__FILE__) . '/myscript.sh');

关于php - 如何在 PHP 中执行 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com