我开发了一些代码,它使用PHP的NuSoap类来调用soap web服务.我正在使用NuSoap而不是PHP 5本机类,主要是因为我不希望在共享Web服务器上安装此代码时添加额外的先决条件.代码在我的机器上正常工作:
require DOCROOT.'modules/nbn_species_dict_sync/lib/nusoap.php';
$client = new nusoap_client('http://www.nbnws.net/ws_3_5/GatewayWebService?wsdl', true);
$query1 = '<TaxonReportingCategoryListRequest xmlns="http://www.nbnws.net/TaxonReportingCategory" registrationKey="'.$key.'"></TaxonReportingCategoryListRequest>';
$response = $client->call('GetTaxonReportingCategoryList', $query1);
Run Code Online (Sandbox Code Playgroud)
当我把它放在虚拟服务器而不是在本地运行时,最后一行只挂了大约10秒然后PHP炸弹了.没有异常被引发并且没有PHP错误(我已经尝试过使用try..catch和set_error_handler来确定).
我的第一反应是,这可能是在服务器上运行阻止传出请求的防火墙,但我在其他地方成功使用cUrl进行请求,我很确定此处没有运行防火墙.调用$ client-> use_curl对NuSoap调用没有任何影响,但它仍然不起作用.
任何想法为什么会发生这种情况将非常感激.
您能否确保 www-data 有(权限)访问
DOCROOT.'modules/nbn_species_dict_sync/lib/nusoap.php' ?
Run Code Online (Sandbox Code Playgroud)
或者您可以尝试将 nusoap 复制到另一个目录吗?
或者您可以尝试以 root 用户身份从命令提示符运行它吗?
顺便问一下,您收到什么类型的错误/警告?
| 归档时间: |
|
| 查看次数: |
1325 次 |
| 最近记录: |