通过命令行执行脚本,生成和输出的文件所有者都是root,这就为webserver的二次处理增加了障碍。
(1)通过 su www可以解决这一问题
然而通情况下为了安全www用户的shell指定的/sbin/nologin,这就意味这无法通过su来切换。
(2)通过修改profile文件的umask来指定权限,等价于chmod
这一方法不仅麻烦,还不安全
(3)通过CURL激活
这也是一个办法,需要在代码中加入:
代码如下 | 复制代码 |
<?php ignore_user_abort(true); ?> |
(4)通过crontab -u www -e
这一方法比较靠谱,附防止重复执行脚本
代码如下 | 复制代码 |
<?php if(intval(shell_exec("ps -ef|grep ".basename(__FILE__)." |wc -l")) >3) exit('重复进程');//防止重复运行 ?> |
时间: 2025-01-02 06:15:58