我有一个php脚本。它在网络服务器上工作正常。我需要在linux终端上执行它。然后它给Php警告权限被拒绝。有人能帮我吗?linux命令:
usr/bin/php /var/www/site/myscript.php
php脚本
<?php $text = "Cats chase mice"; $filename = "somefile.txt"; $fh = fopen($filename, "a"); fwrite($fh, $text); fclose($fh); ?>
0x6upsns1#
在浏览器中php文件/脚本以www-data权限运行。但是在CLI中您可能以普通用户运行。您可以通过添加普通用户作为所有者来更改文件的权限。可能您也需要更改目录的权限。
yquaqz182#
检查一下
sudo usr/bin/php /var/www/site/myscript.php
ut6juiuv3#
您需要一些权限才能写入文件。如果您确定脚本无害,则可以执行以下操作:
sudo /usr/bin/php /var/www/site/myscript.php
否则,您可以创建文件并将其提供给将启动脚本的用户:
touch somefile.txt && chown [user] somefile.txt
bejyjqdl4#
首先,您应该检查对/var/www/site/somefile. txt的权限-似乎您无法写入somefile.txt。您可以对该文件执行chown操作,或尝试以root用户身份运行命令(不推荐)
4条答案
按热度按时间0x6upsns1#
在浏览器中php文件/脚本以www-data权限运行。但是在CLI中您可能以普通用户运行。您可以通过添加普通用户作为所有者来更改文件的权限。可能您也需要更改目录的权限。
yquaqz182#
检查一下
ut6juiuv3#
您需要一些权限才能写入文件。
如果您确定脚本无害,则可以执行以下操作:
否则,您可以创建文件并将其提供给将启动脚本的用户:
bejyjqdl4#
首先,您应该检查对/var/www/site/somefile. txt的权限-似乎您无法写入somefile.txt。您可以对该文件执行chown操作,或尝试以root用户身份运行命令(不推荐)