goDaddy 共有ホスティングで perl スクリプトから php スクリプトを実行しようとしています。私が最初に書いた PHP スクリプトは、120 秒の時間制限と mySQL メモリ制限を超えているため、スクリプトをいくつかの部分に分割しています。
これをすべて 1 つの cron ジョブとして実行したいので、4 ~ 5 個の php スクリプトを実行する単一の perl スクリプトを呼び出したいと考えています。
これは、Drupal 7 で実行されている私の Web サイト用です。
次の内容の perl スクリプトを作成しました。
my $command = '/web/cgi-bin/php5 -q $HOME/html/phpscript1.php';
exec ($command) or print STDERR "couldn't exec $command: $!";
これは、次のような内容を含む php スクリプトを呼び出します。
<?php
define('DRUPAL_ROOT', getcwd());
include_once DRUPAL_ROOT . '/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
....
do stuff
....
?>
しかし、これを perl から実行すると ($HOME ディレクトリと html ディレクトリの両方で試しました)、スクリプトを実行すると次の問題が発生します (ここで、XXXXXX は私の godaddy アカウント フォルダーです)。
<b>Notice</b>: Undefined index: SCRIPT_NAME
<b>/home/content/05/XXXXXXX/html/includes/bootstrap.inc</b> on line <b>1627</b><br />
<br />
<b>Notice</b>: Undefined index: REMOTE_ADDR in
<b>/home/content/05/XXXXXXX/html/includes/bootstrap.inc</b> on line <b>2802</b><br />
<br />
<b>Notice</b>: Undefined index: argc in
<b>/home/content/05/XXXXXXX/html/includes/bootstrap.inc</b> on line <b>3290</b><br />
これらはFastGCIの問題であり、おそらくこれらのインデックス/変数を何かに定義/エクスポート/ポイントする必要があると推測しましたが、広範な検索の後、何をすべきかを見つけることができませんでした.
PHP スクリプトは、CURL を使用して外部サーバーから私のサーバーに画像をコピーします