私はjoomlaウェブサイトのルートフォルダーにphpがあり、そこでjoomlaフレームワークをロードしてxml出力ファイルを作成します。dbリクエストを行う前の最初の行は次のとおりです。
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', realpath(dirname(__FILE__)));
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
このファイルを実行すると、適切に生成されたxmlファイルを取得できます。しかし、cronジョブを設定する必要があります。cronジョブを実行しようとすると、次のエラーメッセージが表示されます。
/PATH/my_file.php: line 1: ?php: No such file or directory
/PATH/my_file.php: line 2: syntax error near unexpected token `'_JEXEC','
/PATH/my_file.php: line 2: ` define( '_JEXEC', 1 );'
正しいcronジョブを取得するために何を修正する必要がありますか?
サーバーのルートそのものから始まるパスを定義する必要があります。コマンドを次のように変更してみてください。
php /home/XXXX/public_html/my_file.php