我在Yahoo小型企业托管了website
(PHP),在Rackspace托管了application
(Java)。
我正在从网站到应用程序进行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 :(得分:4)
您需要允许
allow_url_fopen
在你的php.ini配置文件中。有些主持人因为安全而不允许这样做。
答案 1 :(得分:1)
如果已启用fopen包装,则可以使用此函数将URL用作文件名。有关如何指定文件名的更多详细信息,请参阅fopen()。有关各种包装器具有哪些功能的信息,使用说明以及它们可能提供的任何预定义变量的信息,请参阅支持的协议和包装器。
答案 2 :(得分:0)
检查php.ini文件并确保类似可用,如下所示
是否允许将URL(如http://或ftp://)作为文件处理。 ; http://php.net/allow-url-fopen allow_url_fopen =开启
是否允许include / require打开URL(如http://或ftp://)作为文件。 ; http://php.net/allow-url-include allow_url_include =关