Задание cron успешно выполняет скрипт php, но не может сохранить файлы или создать каталоги - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть скрипт 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

Ответы [ 4 ]

0 голосов
/ 19 февраля 2019

На случай, если в будущем кто-то столкнется с той же проблемой, проблема была с разрешениями, для решения проблемы измените разрешение файла сценария php, для этого необходимо разрешение на запись), для этого:

1.Использование FTP-клиента (например, Filezilla): щелкните правой кнопкой мыши файл сценария и выберите «Файл», дайте разрешение на запись пользователю и группе пользователей (например, 766)

2.Использование терминала:

chmod 766 /path/to/php_script
0 голосов
/ 18 февраля 2019

Вы можете проверить разрешение при запуске cron.В большинстве случаев это из-за разрешения

0 голосов
/ 18 февраля 2019

используйте chdir () или определите путь, используя dirname ( FILE ) и используйте его в ваших mkdir () и file_put_contents ()

<?php

chdir ( __DIR__ );

mkdir ( '/testdir' );

file_put_contents ( 'testdir/1.jpg', file_get_contents ( $url_to_jpg ) );

?>
0 голосов
/ 18 февраля 2019

Проверьте права доступа к файлу, возможно, ваш пользователь сценария не имеет разрешения на создание нового каталога / файла в указанном месте.

...