Почему get_meta_tags () не работает должным образом

#php #keyword

#php #ключевое слово

Вопрос:

Я использовал get_meta_tags («squidoo.com «), чтобы получить ключевые слова и описание. Когда я запускаю на своем ПК с WAMP Server 2.1 (PHP 5.3), он работает отлично, но когда я загружаю на linux server PHP 5.2, он не работает для squidoo.com .

Я тестирую с

 $datas = get_meta_tags("http://squidoo.com")  

$keywrds = $datas['keywords'];
$desc = $datas['description'];
  

Когда я запускаю на своем ПК, он работает отлично, но при загрузке на сервер в $ keywrds и $ desc остаются пустые данные.

Приведенный выше код работает почти с сайтами, я получил ошибку с www.squidoo.com и только некоторые другие

Комментарии:

1. Почему бы на самом деле не описать, что происходит? Выдает ли это ошибку? Возвращает ли это что-то неожиданное? Какой код вы используете для проверки возвратов и т.д. И т.п. Приложите немного усилий к вашему вопросу, пожалуйста…

Ответ №1:

вы не предоставили нам много информации об ошибках, которые вы получаете, но наиболее вероятная причина сбоя заключается в том, что ваш локальный сервер настроен так, чтобы команды, которые открывают файл, использовали URL-адрес, в то время как ваш сервер Linux — нет.

Это параметр конфигурации PHP.ini, который указывает, можете ли вы использовать URL-адреса в качестве имен файлов. Если он отключен, то PHP не позволит вам открывать файлы с удаленного сайта и разрешит это только из файлов на своем локальном сервере.

Его отключение считается хорошей практикой безопасности, поэтому большинство хостинг-провайдеров PHP отключат его по умолчанию. Возможно, вы сможете включить это самостоятельно, в зависимости от вашего провайдера, или вам просто придется обойти это, загрузив URL-адрес с помощью CURL, а затем изучив загруженный файл.

Смотрите ввод PHP вручную для этого параметра конфигурации здесь: http://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-fopen

Комментарии:

1. Я тестирую с помощью $datas = get_meta_tags (» squidoo.com » ) $ keywrds = $ datas [‘ключевые слова’]; $ desc = $ datas [‘описание’]; Когда я запускаю на своем КОМПЬЮТЕРЕ, это работает отлично, но при загрузке на сервер в $ keywrds и $ desc есть пустые данные.

2. @Spiker — вы проверили значение allow-url-fopen параметра INI?

Ответ №2:

Это может быть потому, что у вас вызван локальный файл squidoo.com в вашей настройке WAMP. Если вы хотите, чтобы это работало на реальном веб-сайте, тогда вы должны указать URL:

 print_r(
   get_meta_tags("http://squidoo.com") 
);
  

Обратите внимание на http:// , который отличает веб-адреса от файлов.