2010-07-04 3 views
0

У меня есть PHP скрипт, используя NuSOAP для подключения к веб-службы на:PHP NuSOAP скрипт не работает

$uri = 'http://soap.1011.my-online-check.com:8080/avavoip_gate.php?wsdl'; 
$client = new nusoap_client($uri, true, false, false, false, false, 30, 90); 
$client->setHeaders($headers); 
$result = $client->call($method, $args); 

Он отлично работает на моем Mac.

Однако, когда я загрузить тот же самый сценарий для обоих моих поставщиков веб-хостинг как с помощью CPanel, один из которых является bluehost.com, скрипт завершается с ошибкой при слежении:

Error: wsdl error: Getting ' http://soap.1011.my-online-check.com:8080/avavoip_gate.php?wsdl - HTTP ERROR: Couldn't open socket connection to server ' http://soap.1011.my-online-check.com:8080/avavoip_gate.php?wsdl , Error (110): Connection timed out

Так я установил CentOS на мой другой компьютер для проверки сценария. Первоначально я получил ту же ошибку выше, но после установки SELinux в Permissive вместо Enforcing скрипт работал отлично.

Я пробовал просить моих хостинг-провайдеров изменить настройки SELinux, но безрезультатно. Любые советы о том, как я могу заставить мой скрипт работать на моих провайдерах хостинга?

ответ

0

I have tried asking my hosting providers to change the SELinux settings but to no avail

Отказались ли они, или они просто не отвечали?

Ограничение SELinux в значительной степени сводится к «может ли Apache и тому, что он порождает, создавать HTTP-соединения?», Поэтому, если они не хотят менять это разрешение, вы в значительной степени находитесь на ручье.

Это, как говорится, тайм-аут не обычно то, что вы получаете, когда SELinux блокирует действие. Обычно вместо этого вы увидите «разрешение отклонено». Возможно, что-то еще блокирует исходящее соединение.

+0

Спасибо за быстрый ответ. Один из провайдеров сказал, что они установили SELinux в разрешающую, но я все еще получаю эту ошибку. Не уверен, что еще попросить их сделать, чтобы устранить проблему. – John

1

Вы также можете попробовать использовать завиток в качестве альтернативы. Для вашего NuSOAP клиента:

$client->use_curl = TRUE; 

перед вызовом $client->call

Смежные вопросы