【问题标题】:PHP Cron Problems - using plesk: dynamic library, open_basedirPHP Cron 问题 - 使用 plesk:动态库,open_basedir
【发布时间】:2012-02-27 05:53:32
【问题描述】:

我通过plesk(控制面板)crontab输入以下命令,每小时运行一次php文件:

php httpdocs/cron/script.php

我收到以下 2 条错误消息(每小时一次,发送到我的电子邮件):

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/http.so' -
/usr/lib/php/modules/http.so: cannot open shared object file: No such file or directory in
Unknown on line 0
PHP Warning:  require_once(): open_basedir restriction in effect.
File(../include/functions.php) is not within the allowed path(s):
(/var/www/vhosts/basedomain.com:/tmp) in /var/www/vhosts/example.com/httpdocs/cron/script.php
on line 2
PHP Warning:  require_once(../include/functions.php): failed to open stream: Operation not
permitted in /var/www/vhosts/example.com/httpdocs/cron/script.php on line 2
PHP Fatal error:  require_once(): Failed opening required '../include/functions.php'
(include_path='.:') in /var/www/vhosts/example.com/httpdocs/cron/script.php on line 2

注意:第 2 行有 require_once(../include/functions.php);

我意识到这是两个不同的问题。我尝试分别解决每个问题,他们都还在我身边。任何帮助,将不胜感激。谢谢

【问题讨论】:

    标签: php cron crontab plesk


    【解决方案1】:

    当您像这样运行 PHP 时,在 Plesk 特定和 Apache 特定位置(如 vhost.conf)中设置的配置不适用。

    既然您的脚本已经在 httpdocs 中,为什么不直接使用 wget/curl 通过 HTTP 调用脚本呢?像/usr/bin/curl http://yoursite.com/cron/script.php 2>&1 这样的东西。可能需要考虑一些额外的验证(IP 限制、htpasswd 身份验证)以确保随机访问者(脚本小子)无法运行它。

    【讨论】:

    • 你好,我复制的时候出错了,不在同一个域里面:有basedomain.com,然后有example.com;另外,我不确定您的建议是针对 crontab 还是包含在脚本中?
    • @LucyWeatherford:该建议适用于 crontab。但是既然您已经更改了问题,我首先要确保脚本在您的浏览器中打开时可以正常工作,然后才将其添加到 crontab。
    • 谢谢!!你的代码很棒!第二个问题现在已经解决了,我不知道如何处理第一个问题,但它有效,它有效。谢谢!!
    • 顺便说一句,2>&1 代表什么?
    • @LucyWeatherford:大多数 UNIX 程序将正常输出打印到名为 STDOUT 的流中,并将错误消息打印到名为 STDERR 的流中。默认情况下,您收到的电子邮件仅包含 STDOUT。 2>&1 将 STDERR 流重定向到 STDOUT,这样电子邮件就包含了它们。
    【解决方案2】:

    请在下面查看,也许会对您有所帮助。
    http://www.geeklog.net/forum/viewtopic.php?showtopic=28107

    【讨论】:

    • 谢谢,我试着按照他们昨天写的东西做,在别处也找到了说明。我现在再次尝试,但它似乎没有去任何地方或解决它。我尝试了 \Dcoder 给我的代码,但它解决了第二个问题。耶..
    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多