У меня есть website
(PHP), размещенный в малом бизнесе и application
Yahoo (Java), размещенном в Rackspace.
Я делаю 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);
это прекрасно работает.
Вы должны разрешить
allow_url_fopen
в вашем конфигурационном файле php.ini. Некоторые хосты запрещают его для обеспечения безопасности.
URL-адрес может использоваться как имя файла с этой функцией, если обертки fopen включены. См. Fopen () для получения дополнительной информации о том, как указать имя файла. См. Поддерживаемые протоколы и обертки для ссылок на информацию о том, какие способности могут иметь различные обертки, заметки об их использовании и информация о любых предопределенных переменных, которые они могут предоставить.
Проверьте файл 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 = Выкл.