Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/40: Рейтинг темы: голосов - 40, средняя оценка - 4.78
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
1

Как сконфигурировать openserver, чтобы использовать file_get_contents?

24.06.2015, 06:59. Показов 7675. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет!

Занимаюсь парсингом, на хостинге file_get_contents работает нормально, а вот на локальном сервере Open Server выходит ошибка:

Warning: file_get_contents(https://www.site.com): in S:\DEVELOPER\openserver\OpenServer\domains\sport\lib\simple_html_dom.php on line 75

Что то в php.ini поправить надо?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2015, 06:59
Ответы с готовыми решениями:

Как использовать куки, чтобы потом было можно их использовать в запросах
Скажите полажуйста! как добавить ! куки , чтобы потом было можно использовать в запросах! тоесть ...

Какие модули использовать в OpenServer
Какие версии Apache PHP MySQL использовать в OpenServer в настоящий момент, те которые уже работают...

Что лучше использовать для тестирования кода, OpenServer или Denwer
Что лучше Openserver или Denwer? А то я как-то давно уже взял плохую моду - экспериментировать на...

Как подключить авторегистратор к компьютеру, чтобы использовать его как веб камеру?
Как подключить авторегистратор к компьютеру чтобы использовать его как веб камеру? При его...

16
1261 / 787 / 224
Регистрация: 22.04.2013
Сообщений: 5,767
Записей в блоге: 1
24.06.2015, 07:16 2
шо за варнинг-то ? о чём предупреждает ? шо за строка такая , 75-ая ?

слешей мало/много, не в ту сторону, кодировка
1
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
24.06.2015, 07:32 3
Мне кажется вы привели не полный текст ошибки, потому что PHP обычно пишет не только номер строки, но и в чём конкретно проблема, например, вот как было у меня: Не работает https . Поставил библиотеку и всё заработало...
1
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
24.06.2015, 07:33  [ТС] 4
Слэши '/' вида.

Кодировка какая имеется ввиду? Кодировка сайта скорее всего utf-8.

На хостинге конструкция работает и все успешно парсит, Warning только на локальном сервере.

Для парсинга использую simle_html_dom. В конечном итоге ругань на строку в данной функции, ничего не менял в ней:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function file_get_html($url, $use_include_path = false, $context=null, $offset = -1, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
{
    // We DO force the tags to be terminated.
    $dom = new simple_html_dom(null, $lowercase, $forceTagsClosed, $target_charset, $stripRN, $defaultBRText, $defaultSpanText);
    // For sourceforge users: uncomment the next line and comment the retreive_url_contents line 2 lines down if it is not already done.
    $contents = file_get_contents($url, $use_include_path, $context, $offset);
    // Paperg - use our own mechanism for getting the contents as we want to control the timeout.
    //$contents = retrieve_url_contents($url);
    if (empty($contents) || strlen($contents) > MAX_FILE_SIZE)
    {
        return false;
    }
    // The second parameter can force the selectors to all be lowercase.
    $dom->load($contents, $lowercase, $stripRN);
    return $dom;
}
Тупо парсил с помощью:

PHP
1
$html = file_get_html('https://site.com');
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
24.06.2015, 10:15 5
EVOSandru6, может Вы уже покажите полный текст ошибки?
1
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
24.06.2015, 10:49  [ТС] 6
Warning: file_get_contents(https://www.site.com/link/): in S:\DEVELOPER\openserver\OpenServer\domains\sport\lib\simple_html_dom.php on line 75

Это все , что есть при таких параметрах в .htaccess :

php_value error_reporting -1
php_flag display_errors on
php_flag display_startup_errors on

php_flag ignore_repeated_source off
php_flag ignore_repeated_errors off

php_flag track_errors on

php_flag log_errors on

php_flag mysql.trace_mode on
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
24.06.2015, 11:11 7
EVOSandru6, а что выведет
PHP
1
var_dump($contents);
вставленный после строки
PHP
1
$contents = file_get_contents();
1
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
24.06.2015, 12:43  [ТС] 8
Ничего не вышло, наверное, потому что не отрабатывает
PHP
1
file_get_contents()
.
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
24.06.2015, 14:09 9
http://stackoverflow.com/quest... ot-working
1
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
24.06.2015, 14:44 10
Цитата Сообщение от EVOSandru6 Посмотреть сообщение
Ничего не вышло, наверное, потому что не отрабатывает
Нет, функция var_dump() не может не выводить ничего. Значит скрипт до туда не доходит даже.
1
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
25.06.2015, 17:35 11
Скорее всего нет ssl библиотеки, поэтому на https не может получить. Попробуй сайт на http какой нибудь поставить
1
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
26.06.2015, 02:44  [ТС] 12
Вот такой php.ini у меня

allow_url_fopen = On
allow_url_include = On
extension=php_openssl.dll
[openssl]
openssl.cafile="%sprogdir%/modules/php/%phpdriver%/cacert.pem"
;openssl.capath=
0
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
26.06.2015, 09:33 13
EVOSandru6, Попробуй эти библиотеки скачать и поставить.
Вложения
Тип файла: zip denwerlib.zip (617.3 Кб, 4 просмотров)
1
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
26.06.2015, 19:56 14
Действительно. Может быть из-за php.ini. Может быть библиотеки ssl не хватает в сборке php.

Не по теме:

Рекомендую не качать недостающие библиотеки с социальных ресурсов а действовать по схеме:
1. зашел на официальный сайт разработчиков php
2. скачал стандартную современную сборку php
3. вытащил с каталога dll необходимую php_*.dll библиотеку
4. скопировал её в каталог с текущим интерпретатором php
5. добавил в конф. файл текущего интерпретатора php соотв. стр.
6. перезапустил сервер
7. Все.
А то качать библиотеки с непонятно что-за сайтов это как покупать iPhone на базаре.



Добавлено через 49 минут

Не по теме:

ссори, alexsamos33.

Вот у меня привычка всё качать с официальных сайтов:pardon:.

0
4 / 4 / 6
Регистрация: 23.05.2012
Сообщений: 445
27.06.2015, 03:37  [ТС] 15
Обновил openSSl из архива и докинул 2 файла из него, выплевывется ошибка:

Точка входа в процедуру php_checkuid не найдена в библиотеке DLL php5ts.dll

Если ставлю старый php_opensssl.dll , то server ошибка исчезает, в любом случае сервер запускается, но проблему это не решает.

Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in E:\DEVELOPER\OpenServer\domains\sport\lib\simple_html_dom.php on line 75

Warning: file_get_contents(https://www.1xbet.com/line/): failed to open stream: Invalid argument in E:\DEVELOPER\OpenServer\domains\sport\lib\simple_html_dom.php on line 75
bool(false)


Добавлено через 35 минут
Благодарю, Так открывается, посмотрим насколько удобно парсить, после simple_html_dom, все рутина.
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
27.06.2015, 10:57 16
Ещё, php_*.dll библиотеки которые вы вручную добавляете в интерпретатор php должны быть совместимы с этим интерпретатором с его версией. То есть для каждой версии интерпретатора php под нее есть её родные библиотеки.

EVOSandru6, так что, file_get_contents уже работает?
1
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
27.06.2015, 12:05 17
Цитата Сообщение от EVOSandru6 Посмотреть сообщение
Warning: file_get_contents(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in E:\DEVELOPER\OpenServer\domains\sport\lib\simple_html_dom.php on line 75
Это ошибка означает, что нужно добавить расширение openssl в php.
например в php.ini
Код
extension=php_openssl.dll
1
27.06.2015, 12:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.06.2015, 12:05
Помогаю со студенческими работами здесь

Как оформить процедуру OutFloat в отдельный файл, чтобы потом использовать ее как макрос?
Писал в SASM, перед этим запустив Xming Как оформить процедуру OutFloat в отдельный файл, чтобы...

Как сконфигурировать sendmail?
Вот есть файл конфигурации sendmail.cf(исходный), что тут попроще изменить чтобы sendmail заработал?

Как сконфигурировать PDO?
Добрый день, Поставил на debian apache + php + postgres (lapp) Хочу перенести рабочий сайт с...

Как использовать if/else или try/except чтобы игнорировать ошибки ?
Приветствую всех ! У меня есть скрипт ( работает на Python 2.7): import sys a=0 b=7...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru