2

私はubuntu12.04で働いています。クラシックローカルホストを設定しています。apache + mysql + php

file_get_contentsは外部URLで失敗しますが、ローカルファイルまたは「localhost」で正常に機能します

file_get_contents('http://google.com');
PHP Warning:  file_get_contents(http://google.com): failed to open stream: HTTP request failed!

soapClientは外部URLで失敗しますが、ローカルファイルまたは「localhost」で正常に機能します

$wsdl = "http://test.webservices.delijn.be/wsrise/services/travel/WEB-INF/wsdl/RiseWebservices.wsdl";
$client = new SoapClient($wsdl,
array(
        'trace'                 => true,
        'exceptions'            => true,
        'soap_version'          => SOAP_1_1,
        'connection_timeout'    => 600,
        'compression' => SOAP_COMPRESSION_ACCEPT ,
        'encoding'=> 'UTF-8', //ISO-8859-1',
        //'cache_wsdl' => WSDL_CACHE_BOTH,
        //'host'     => "localhost",
        //'proxy_host'     => "localhost",
        //'proxy_port'     => 8080,
    ));

SOAP-ERROR: Parsing WSDL: Couldn't load from 
'http://test.webservices.delijn.be/wsrise/services/travel/WEB-INF/wsdl/RiseWebservices.wsdl' : failed to load external entity "http://test.webservices.delijn.be/wsrise/services/travel/WEB-INF/wsdl/RiseWebservices.wsdl"

allow_url_fopenとallow_include_urlはphpinfo()でオンになっています(/etc/php5/apache2/php.iniで設定)ファイアウォールが無効になっていますapparmorが無効になっています

suhosinパッチがインストールされており、php.iniでsuhosin.simulationをtrueに設定しています

コードは本番サーバーとステージングサーバーでうまく機能しています

私はアイデアがなく、問題を検査できる興味深いログやコマンドが見つかりません:'(

ご協力いただきありがとうございます !

4

1 に答える 1

1

Ok !私はそれを機能させる方法を見つけました。

モジュールsuhosinを使用できるようにするには、desuhosin-phpパッケージをインストールします。/etc/php5/con.d/suhosin.conf sudo serviceapache2restartでsuhosin.simulationディレクティブをonに設定します

ソープコールはまだ非常に遅いですが、現在は機能しています

ご協力いただきありがとうございます !

于 2012-06-29T14:03:58.023 に答える