使用CURL运行PHP脚本

时间:2014-01-10 17:23:24

标签: php curl cron webmin

我创建了一个内部计费系统,我需要根据他们的结算时间表为客户生成发票,但是当我从CURL运行PHP脚本时遇到了问题,并且想知道是否有任何解决方法

我目前有一个CRON任务,它运行一个名为crontask.php的PHP脚本

然后 crontask.php计算客户是否需要生成发票并通过电子邮件发送给他们。如果计算确实如此,那么它会尝试调用一个创建发票的网址并使用CURL发送电子邮件,即(www.internal.co.uk/invoicing/geninvoice.php?CUST=10)

    function get_web_page($url)
{
$ua = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13';

    echo "curl:url<pre>".$url."</pre><BR>";
    $options = array(

        CURLOPT_RETURNTRANSFER => true,     // return web page
        CURLOPT_HEADER         => true,    // don't return headers
        CURLOPT_FOLLOWLOCATION => true,     // follow redirects
        CURLOPT_ENCODING       => "",       // handle all encodings
        CURLOPT_USERAGENT      => $ua,    // who am i
        CURLOPT_AUTOREFERER    => true,     // set referer on redirect
        CURLOPT_CONNECTTIMEOUT => 15,      // timeout on connect
        CURLOPT_TIMEOUT        => 15,      // timeout on response
        CURLOPT_MAXREDIRS      => 10,       // stop after 10 redirects

    );

    $ch      = curl_init($url);
    curl_setopt_array( $ch, $options );
    $content = curl_exec( $ch );
    $err     = curl_errno( $ch );
    $errmsg  = curl_error( $ch );
    $header  = curl_getinfo( $ch,CURLINFO_EFFECTIVE_URL );
    curl_close( $ch );

    if(isset($header['errno'])) {
    $header['errno']   = $err;
    $header['errmsg']  = $errmsg;
    }

    //change errmsg here to errno
    if (isset($errno)) {
        echo "CURL:".$errmsg."<BR>";
    }
    return $content;
}   

当运行这个时,我试图在PHP中从curl运行时被拒绝访问,

服务器在virtualmin / webmin上运行,我有root访问权限,是否需要更改脚本或向脚本添加身份验证?

0 个答案:

没有答案
相关问题