php中包含soapclient的cron作业问题

php中包含soapclient的cron作业问题,php,soap,cron,Php,Soap,Cron,我有一个php脚本,需要每天运行它。这个脚本有一个soapclient,如果我直接使用浏览器以脚本的形式运行它,它就可以正常工作。但是,如果将其设置为cron作业,则会出现一些致命错误 脚本非常简单,如“crontest.php” 它给出的错误是 致命错误:在/home/duan/public_html/scripts/crontest.php中找不到类“SoapClient” <?php $mage_url = 'http://******.com/api/?wsdl'; $mag

我有一个php脚本,需要每天运行它。这个脚本有一个soapclient,如果我直接使用浏览器以脚本的形式运行它,它就可以正常工作。但是,如果将其设置为cron作业,则会出现一些致命错误

脚本非常简单,如“crontest.php”

它给出的错误是

致命错误:在/home/duan/public_html/scripts/crontest.php中找不到类“SoapClient”

<?php 

$mage_url = 'http://******.com/api/?wsdl'; 
$mage_user = '*****'; 
$mage_api_key = '******';

$soap = new SoapClient( $mage_url ); 
echo "success";

exit;
?>
如果我拆下这条线,效果很好

$soap = new SoapClient( $mage_url );

任何人都可以提供帮助?

请尝试使用lynx让服务器通过http请求加载页面,而不是直接调用php来运行脚本:

/usr/bin/lynx-源代码http://example.com/cron.php

这将导致脚本以与您自己通过web浏览器查看脚本时相同的方式运行。首先在命令行上进行测试,然后对于cron作业,您可以根据需要将输出转移到/dev/null或日志:


/usr/bin/lynx-源代码http://example.com/cron.php >/dev/null 2>&1

您可能需要包含文件nusoap.php或加载php库。它仅包含在5.0.1版之后,但服务器可能不会使用它(特别是如果使用具有相同类名的nusoap)

您应该搜索网站代码并查找nusoap.php或类似于dl('SoapClient')(dl加载php库)的命令


如果不是nusoap,您可以尝试使用命令php-m,看看SoapClient是否存在。如果不尝试php-v

也许当您在浏览器中运行此脚本时,处理脚本的是php cgi,这里是php cli,请尝试查看您的问题是否来自于此。
$soap = new SoapClient( $mage_url );