0

我正在尝试使用包含敏感信息的 PHP 脚本,因此我使用包含来托管 webroot 上方的密码。

该脚本可以通过浏览器正常运行,但是当我将其作为 crob 作业运行时,它会生成有关包含的错误消息。

open_basedir 设置是:/var/www/vhosts/xxx/:/tmp/——想知道这里是否相关?

感谢有关如何解决此问题或解决方法的任何建议。

PHP Warning:  include(../includes.php): failed to open stream: No such file or directory in /var/www/vhosts/xxx.com/httpdocs/linkedin_status.php on line 6
PHP Warning:  include(../includes.php): failed to open stream: No such file or directory in /var/www/vhosts/xxx.com/httpdocs/linkedin_status.php on line 6
PHP Warning:  include(): Failed opening '../includes.php' for inclusion (include_path='.:') in /var/www/vhosts/xxx.com/httpdocs/linkedin_status.php on line 6
PHP Notice:  Use of undefined constant API_KEY - assumed 'API_KEY' in /var/www/vhosts/xxx.com/httpdocs/linkedin_status.php on line 88
PHP Notice:  Use of undefined constant SCOPE - assumed 'SCOPE' in /var/www/vhosts/xxx.com/httpdocs/linkedin_status.php on line 89
PHP Notice:  Use of undefined constant REDIRECT_URI - assumed 'REDIRECT_URI' in /var/www/vhosts/xxx.com/httpdocs/linkedin_status.php on line 91
4

2 回答 2

2

这总是对我有用...

require_once("/full/path/to/your/file/includes.php");
于 2013-04-17T10:38:59.753 回答
1

您可能遇到的是 Cronjob 使用了不同的 php.ini,因此使用了不同的设置。phpinfo();要确认这一点,您可以创建一个将结果写入文件的 php 脚本。在输出中,您将看到正在使用的 php.ini。

你可以做些什么来解决这个问题:

  • 执行 cronjob 时指定要使用的 php.ini。
  • 通过 wget 命令运行 cronjob,该命令实际上通过网络服务器(如浏览器)执行脚本。Wget 是一个命令提示工具(不是 PHP!),它从 Internet 调用一个 url 并将其写入屏幕或文件。
于 2013-04-17T10:39:24.120 回答