好吧,我有一个运行 bash 文件的 cron:
#!/bin/bash
for n in {1..10}; do
/usr/bin/php /var/www/html/teste_sh.php v=$n &
done
但是在这个脚本 teste_sh.php 中,如果我做一个 error_log,它不起作用。
这个文件夹的错误日志是空的,但是如果我运行 http://localhost/teste_sh.php , error_log 工作正常!
有没有办法让 error_log 在这种情况下起作用?
谢谢。
最佳答案
不完全清楚您的错误日志在哪里,但是,这是一个权限问题。 CRON 假定是您用户的 crontab,而不是 root。
我会将您的用户与您的 Web 服务器放在同一组中,通常是 www-data
。
然后 Web 服务器和您通过 CRON 执行时将在同一组中。当然,只需要确保目录/var/www/html 被 chowned 给那个组。
将您的用户添加到网络组:
sudo usermod -a -G www-data myusername
然后chown目录
sudo chown -R myusername:www-data /var/www/html
可能值得在 https://serverfault.com/ 上寻找答案
关于php - 当 PHP 脚本通过/user/bin/php 运行时,Error_log 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45826409/