[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Разница в работе ПХП: модуль Апач/не модуль Апач
sergeiss
Наткнулся недавно на проблему, сначала даже не понял, что и делать. Помогли "танцы с бубном", длительные размышления, "звонок другу" и выпитые много чашек иван-чая с имбирем.

Суть проблемы.
Есть скрипт, который обращается к двум разным БД Постгре, расположенным как на том же сервере, так и на другом, в той же локальной сети. При переносе скрипта с ноута, где ведется разбработка, на основной сервер, скрипт перестаёт работать. Точнее, он работает из браузера, т.е. если вызывается из-под Апача (установлен как модуль Апача), но не работает, если вызвать ПХП напрямую и передать ему этот скрипт как параметр. И если еще точнее, на ноуте всё работает в обоих режимах, а на сервере - только из браузера.
"Падает" скрипт тогда, когда идет обращение к БД Постгре, расположенной не локально, а на другом сервере.

Ошибку выдавал такую:
Цитата
Auto configuration failed
6184:error:02001015:system library:fopen:Is a directory:.\crypto\bio\bss_file.c:126:fopen('d:/test/openssl098l/openssl.cnf','rb')
6184:error:2006D002:BIO routines:BIO_new_file:system lib:.\crypto\bio\bss_file.c:131:
6184:error:0E078002:configuration file routines:DEF_LOAD:system lib:.\crypto\conf\conf_def.c:199:


Конфигурации серверов:
- Ноутбук: Винда-7, Апач, ПХП, Постгре
- сервер 1 (основной): Винда-Сервер 2003: Апача, ПХП, Постгре
- сервер 2 (со второй БД): Линукс, Постгре - сервер, с которым поначалу "не дружил" основной сервер

А вот дальше началось самое интересное smile.gif Думал, рвал последние волосы на макушке, "гуглил". Суть проблемы была понятна, но не мог понять, что же делать.

Решилось всё просто. На ноуте стоял ПХП версии 5.3.3, а на сервере - 5.3.1. Заменил на сервере на ту же версию - проблема ушла. Потратил только на поиск этого решения целый рабочий день. Чего там не поделили Винда и Линукс, я так и не понял. И не понятно, не повторится ли подобный гимор в будущем, с какой-нибудь другой "сборкой" ПХП.



Спустя 2 часа, 52 минуты, 49 секунд (23.07.2012 - 15:27) vital написал(а):
Может дело было в разных конфигах? У консольного пхп(CLI) и пхп "из браузера" 2 разных php.ini.

Возможно, эти конфиги различались, а установка новой версии пхп затерла старый конфиг на дефолтный и оно заработало..

А возможно там действительно была какая-нить платформ-специфик бага, к-ю пофиксили. Это легко посмотреть в багтрекере пхп.

Спустя 1 час, 3 минуты, 31 секунда (23.07.2012 - 16:31) sergeiss написал(а):
Нет, точно не в конфигах дело. Потому что "установка" другого ПХП свелась к тупому переписыванию оного с одного компа на другой, а php.ini я взял старый.


Цитата (vital @ 23.07.2012 - 16:27)
У консольного пхп(CLI) и пхп "из браузера" 2 разных php.ini.

А вот тут чуть подробнее, плз!

Спустя 2 часа, 35 минут, 21 секунда (23.07.2012 - 19:06) vital написал(а):
Ну когда пхп запускается из командной строки, он использует другой php.ini нежели когда он запускается апачем.
Я уж не помню как оно там на виндах, но у меня это выглядит примерно так
/etc/php5/apache2/php.ini - обычный пхп.ини
/etc/php5/cli/php.ini - пхп.ини для запуска из командной строки.

Это удобно тем, что можно выключать, например, лишние модули, или там время жизни чего-нить ставить побольше..

Спустя 51 секунда (23.07.2012 - 19:07) vital написал(а):
Цитата
огда идет обращение к БД Постгре, расположенной не локально, а на другом сервере.

Собсвтенно это и наводит на мысли, что в консольном пхп-ини был какой-нить модуль не включен или параметр.

Спустя 5 минут, 38 секунд (23.07.2012 - 19:13) vital написал(а):
Еще можно указывать опцию -n при запуске из консоли, тогда написано что вообще не будет использоваться пхп.ини.

Правда я слабо себе представляю как это.

Спустя 3 часа, 19 минут, 7 секунд (23.07.2012 - 22:32) sergeiss написал(а):
Цитата (vital @ 23.07.2012 - 20:07)
это и наводит на мысли, что в консольном пхп-ини был какой-нить модуль не включен или параметр

Надо будет проверить, какие там ини-файлы включаются. Завтра же и проверю. Раньше, честно говоря, не смотрел на эту проблему с такой позиции.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.