gpt4 book ai didi

PHP exec命令写入服务器

转载 作者:太空宇宙 更新时间:2023-11-04 10:19:48 25 4
gpt4 key购买 nike

所以我有一个 bash 脚本,我想在带有参数的 php 中运行,但目前我什至无法让 PHP 写入机器。作为基本测试,我尝试了 touch 命令但没有成功。我是 PHP 的新手,所以任何帮助都会很棒。我不明白这里出了什么问题。我试过:

<?php 
shell_exec('touch /var/www/html/test.txt');
?>

<?php
exec('touch /var/www/html/test.txt');
?>

<?php
system('touch /var/www/html/test.txt');
?>

<?php
passthru('touch /var/www/html/test.txt');
?>

最佳答案

如果没有更多信息,很难回答这个问题。但是,通常 touch 应该创建一个新文件。最常见的原因是缺少权限。

通常,网络服务器使用用户 www-data 运行。检查并查看是否未为该用户设置权限。

你可以简单地运行命令

addgroup www-data

如果 www-data 有正确的权限,那将出错。否则,事情可能刚刚开始起作用。出于安全目的,在此之后还要重新启动 apache。

/etc/init.d/apache2 restart

或者,在系统命令中添加这样的第二个变量。

system('touch /var/www/html/test.txt', $retval);

$retval 将包含错误的状态。将帮助您调试。

您也可以像这样在 apache 错误日志上运行 tail。

tail -f /var/log/apache2/error.log 

如果有问题,它应该会抛出错误。

关于PHP exec命令写入服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44350998/

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