我有一个托管在共享托管服务器上的PHP脚本,我创建了cron作业,每隔5米执行一次脚本。 Cron作业按预期执行脚本,但无法创建目录并保存文件(当我手动执行时,它可以工作)。
这是我的cron命令:
/usr/local/bin/php /home/myusername/public_html/tild/index.php
这里cron无法运行的代码
mkdir (__DIR__ .'/testdir');
file_put_contents('testdir/1.jpg', file_get_contents($url_to_jpg));
我在Godaddy共享主机上托管该文件
检查文件权限,可能是您的脚本用户无权在指定位置创建新的dicrectory / file。
您可以在运行cron时检查权限。大多数情况下,这是因为许可
使用chdir()或使用dirname(FILE)定义路径并在mkdir()和file_put_contents()中使用它
<?php
chdir ( __DIR__ );
mkdir ( '/testdir' );
file_put_contents ( 'testdir/1.jpg', file_get_contents ( $url_to_jpg ) );
?>
以防万一将来面临同样的问题,问题在于权限,解决问题需要改变php脚本文件的权限,它必须具有写权限),这样做:
1.使用FTP客户端(即Filezilla):右键单击脚本文件,选择“文件”权限,为用户和用户组授予写入权限(即766)
2.使用终端:
chmod 766 /path/to/php_script