2013-09-26 5 views
2

У меня есть website (PHP), размещенный в малом бизнесе Yahoo, и application (Java) Хостинг в Rackspace.PHP 'file_get_contents' не работает с сервера

Я делаю file_get_contents с сайта в приложение. который отлично работает в моем местном. но когда я пытаюсь сделать то же самое после его развертывания на сервере, это не сработает.

Здесь я делаю запрос, который отправляет список тренингов в формате JSON.

PHP часть

$trainingArrayJson = file_get_contents('http://mywebapplication.com/publicTraining/getTrainingsAsJson/'); 
$trainingArray = json_decode($trainingArrayJson); 
     ------- 
     ----- 

это не работает.

если я сделать

$trainingArrayJson = file_get_contents('http://localhost:8080/publicTraining/getTrainingsAsJson/'); 
$trainingArray = json_decode($trainingArrayJson); 

это работает отлично.

+0

см ссылку http://stackoverflow.com/questions/7794604/file-get-contents-not-working –

ответ

1

URL-адрес может использоваться как имя файла с этой функцией, если обертки fopen были включены. См. Fopen() для получения дополнительной информации о том, как указать имя файла. См. Поддерживаемые протоколы и обертки для ссылок на информацию о том, какие способности могут иметь различные обертки, заметки об их использовании и информация о любых предопределенных переменных, которые они могут предоставить.

+0

Перейти на эту страницу и вы будете много различных комбинаций, это может помочь вам, HTTP: //php.net/manual/en/function.file-get-contents.php –

3

Вы должны разрешить

allow_url_fopen 

в вашем конфигурационном файле php.ini. Некоторые хосты запрещают его для обеспечения безопасности.

0

Проверьте файл php.ini и убедитесь, что аналогичный доступен как ниже

; Разрешить ли обращение к URL-адресам (например, http: // или ftp: //) в виде файлов. ; http://php.net/allow-url-fopen allow_url_fopen = On

; Разрешить включать/требовать открывать URL-адреса (например, http: // или ftp: //) в качестве файлов. ; http://php.net/allow-url-include allow_url_include = Off

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