我想通过 PHP exec() 运行 Linux 命令,下面的第一个命令完美地在 Ubuntu Server 22.04 的后台执行 -
<?php
$cmd = "java -jar /var/www/html/selenium-drivers/selenium-server-4.14.1.jar hub";
exec($cmd . " > /dev/null &");
?>
但是与我的第二个命令非常相似的命令没有执行。
<?php
$cmd = "java -jar /var/www/html/selenium-drivers/selenium-server-4.14.1.jar node --port 5555 --selenium-manager true";
exec($cmd . " > /dev/null &");
?>
我无法找出不工作的原因。有人请帮忙吗?
检查了PHP所有必要的权限,没有权限问题。第一个命令完美执行,但第二个命令则不然。
我在 @ChrisHaas 的评论的帮助下解决了这个问题。实际问题与 www-data (Apache2) 访问目录的适当权限有关。我授予了目录权限,例如 -
sudo chmod -R 777 /var/www/html/selenium-drivers
然后我就可以执行命令了
<?php
$cmd = "java -jar /var/www/html/selenium-drivers/selenium-server-4.14.1.jar node --port 5555 --selenium-manager true";
exec($cmd . " > /dev/null &");
?>