file_get_contents不能获取带端口的网址

先们来了解file_get_contents() 函数,官方介绍说它是把整个文件读入一个字符串中,例子:

  1. <?php
  2. echo file_get_contents("test.txt");
  3. ?>

输出:This is a test file with test text.同样此函数还可以用于获取远程服务器上的内容:file_get_contents('http://www.phpfensi.com');这样也是没有问题,但是如果我带了端口了就有问题了,例如:

file_get_contents('http://localhost:12345');

没有任何获取,解决方法是:关闭selinux

1,永久方法–需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

2,临时方法–设置系统参数

使用命令setenforce 0,附:

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

php的allow_url_fopen选项是关闭了

原因是我们php.ini中把php的allow_url_fopen选项是关闭了,我们只要把它打开即可。

如果你没有权限打开allow_url_fopen的话我们可使用curl函数的来替换,也是很方法的。