运行 Cron 作业,文件放入根目录/不是 php 脚本来自 运行

Running Cron Job, file put into root directory / not were the php script is running from

我将 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__表示包含当前正在执行的脚本的文件夹的路径。您可能更愿意指定整个路径,但它们看起来是一样的。