2016-08-03 3 views
0

У меня возникли проблемы, когда я использую функцию "file_get_contents" на CentOS и nginx.PHP "file_get_contents()" function return null

error_reporting(E_ALL); 

$file = "/srv/http/php/cms/extern/ip/pc.htm"; 

if (@is_file($file) === false) {// it is true; 

    $result['error'] = 'no file'; 

} 

if (@fopen($file, "r") === false) { // it is true 

    @fclose($htmlFilePath); 

} 

$htmlContent = file_get_contents($file); // return null 

И я открываю файл HTM в браузере и может work.I поиска что-то в Google, то я проверить параметры в php.ini:

allow_url_fopen = On; 

и инвалидов список функций DON» t включать это;

Затем я перезапускаю nginx и centOS. Но он не может работать -_- !!

Пожалуйста, помогите и сообщите, где ошибка. Спасибо!

+0

У вас есть вопросы? Вы также можете установить 'ini_set ('display_errors', 1);' в начало, чтобы узнать, всплывают ли какие-либо ошибки. – Janno

+0

Функция file_get_contents работает только при использовании полного веб-url. Установить URL-адрес, который вы можете открыть в браузере –

+0

@Janno Спасибо, что вы посоветовали, но он не сообщает об ошибке –

ответ

0

Я столкнулся с такой же проблемой раньше. Я решил это, добавив кодировку кодировки. В моем случае я добавил кодировку UTF-8. Возможно, браузер кодирует файл, но nginx и centOS нет.

  • Добавить метатег для кодирования между тегами заголовка.

Если это не работа, я бы предложил попробовать его с полным URL-адресом. PHP не будет распознавать URL как относительный URL.