Я настроил задание Cron для запуска PHP-скрипта.
Сценарий php работает нормально, за исключением того, что он выводит файл (sitemap.xml) в корневой каталог, а не в каталог «/public_html/mysite.com/», в котором выполняется сценарий. Он прекрасно работает, если я запускаю его в браузер.
Вот команда, которую я использую:
/usr/local/bin/php -q /home/myusername/public_html/mysite.com/buildxml.php
Вот файловая часть кода php:
$xmlfile = 'sitemap.xml';
file_put_contents($xmlfile, $xmlsitemap);
Я пытаюсь найти лучший способ получить файл в каталог «/public_html/mysite.com/» (а не в корневой каталог).
Либо укажите полный путь
$xmlfile = __DIR__ . '/sitemap.xml';
file_put_contents($xmlfile, $xmlsitemap);
или сначала поменяйте рабочие каталоги
chdir(__DIR__);
$xmlfile = 'sitemap.xml';
file_put_contents($xmlfile, $xmlsitemap);
Заметка, __DIR__
означает путь к папке, содержащей скрипт, который выполняется в данный момент. Вместо этого вы можете указать весь путь, но они кажутся одинаковыми.
Других решений пока нет …