我正在尝试从我的 goDaddy 共享主机上的 perl 脚本运行 php 脚本。我最初编写的 PHP 脚本超过了 120 秒的时间限制和 mySQL 内存限制,所以我将脚本分成几个部分。
我希望这全部作为一个 cron 作业运行,所以我想调用一个运行 4-5 个 php 脚本的 perl 脚本。
这是我的网站,使用 Drupal 7 运行。
我编写了一个包含以下内容的 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 将图像从外部服务器复制到我的服务器