iVasya
14.01.2014 - 14:47
На винде с этим всё придельно просто. Скачал длльку, положил в папку php\ext\
и прописал подключение этой длльки в php.ini, прописал путь где лежать расширения и всё чудесно
Но в линуксе....
Во-первых, есть 2 принципиально разных способа установки расширений:
1) через репозиторий, например, apt-get install php5-curl
В этом случае расширение curl.so будет скачано в /usr/lib/php5/жуткое_название_папки_типо_20121212/
Перегружаем сервер, набираем php -m ...и о чудо, модуль курл подхвачен, НО...в действующем php.ini не появилось ни единой строчки, намекающей на то, что подключено расширение курл. Более того, параметр, указывающий где искать расширеня вообще закоментирован.
Какого черта, что за магия?
2) через pecl, например, pecl install someExtenxion
Будет скачано расширение, в ту же папку что и в первом варианте.
Перегружаем сервака, php -m и...наше someExtenxion НЕ подхвачено.
Ну ладно, идем в php.ini раскомментируем строку, указывающую на папку где лежать расширения (т.е /usr/lib/php5/жуткое_название_папки_типо_20121212/)
Также, приписываю само расширение как-то так:
curl_extension=curl.so
Перегружаем сервака, php -m ... и нифига.
Что за магия?
у apache свой
php.ini
_____________
Заработок для веб-разработчиков: CodeCanyon Мое
Портфолио
bestxp
14.01.2014 - 15:00
вообще то не верно смотришь
расширения подключаются проще некуда
есть /etc/php5/conf.d/ там лежит куча ини файлов с настройками под каждое расшиение
и там же создаются для расширений которые установлены через pecl или вообще скомпилированы руками
путь может отличаться у разных дистрибутивов
Цитата (bestxp @ 14.01.2014 - 15:00) |
путь может отличаться у разных дистрибутивов |
а мне казалось что в папку php.d сам php смотрит, т.к. при компиляции указывается только папка где будет лежать php.ini, соответственно php.d там же. т.е. от дистра может зависеть только эта часть "/etc/php5". поправьте если не прав.
killer8080
14.01.2014 - 21:14
Цитата (iVasya @ 14.01.2014 - 12:47) |
1) через репозиторий, например, apt-get install php5-curl |
что гораздо удобней, чем ручками подтыкать длл-ки
Цитата (iVasya @ 14.01.2014 - 12:47) |
Ну ладно, идем в php.ini раскомментируем строку, указывающую на папку где лежать расширения (т.е /usr/lib/php5/жуткое_название_папки_типо_20121212/) |
а вот это уже в корне не верно. В дебиан дистрибутивах своя система, позволяющая подключать, и отключать расширения на уровне манипуляций с ФС, без прямого редактирования файлов конфигов, и не нужно эту систему ломать, если не хотите чтоб ваши изменения в конфигурации слетели при следующем обновлении системы. Это относится не только к PHP, с апачем то же самое.
Структура конфигов PHP такова:
- крнфиги подключения и настроек расширений, помещаются в отдельные файлы, все они лежат в директории /etc/php5/mods-available
- настроки разных sapi лежат в отдельных папках, например
/etc/php5/cli
/etc/php5/apache2
в директории каждого sapi лежит свой php.ini, там же директория conf.d, для этого sapi.
В conf.d создаются симлинки на конфиг файлы из /etc/php5/mods-available. Создавать файлы конфигов в этой директории не следует.
Цитата (iVasya @ 14.01.2014 - 12:47) |
2) через pecl, например, pecl install someExtenxionБудет скачано расширение, в ту же папку что и в первом варианте.Перегружаем сервака, php -m и...наше someExtenxion НЕ подхвачено |
в конце компиляции обычно выводится подсказка, что нужно прописать в конфиг. Можно прямо от туда скопировать эту строчку, создать файл одноименный установленному расширению, с расширением .ini, в /etc/php5/mods-available, затем создать на него симлинки в директориях conf.d, тех sapi, где его нужно активировать, перезапускаешь апач, или fpm, и всё.
iVasya
14.01.2014 - 23:46
Оо, фигасе, ну и запутано всё.
Цитата |
крнфиги подключения и настроек расширений, помещаются в отдельные файлы, все они лежат в директории /etc/php5/mods-available |
Таки да, таки да!!!
Т.е. если что, скачать расширение в /usr/lib/php5/жуткое_название_папки_типо_20121212/ и руками создать в /etc/php5/mods-available имя_расширения.ini-файл с подключением и настройкой данного расширения.
А вообще, как я понял, установка пакетом через апт - лучший способ, жаль только, что в реопзитарих (во всяком случае, убунты) как правило лежат версии софта далеко не самой свежей (стабильной!) версии.
Спасибо за подсказки, в этом линуксе хрен разберешься без 100 грамм.
killer8080
15.01.2014 - 00:09
Цитата (iVasya @ 14.01.2014 - 21:46) |
А вообще, как я понял, установка пакетом через апт - лучший способ, |
да, кстати если работать не из консоли, то мможно ставить пакеты например через графический synaptic, там просто в фильтре вводишь php5, и он покажет все доступные пакеты, в названии которых присутствует php5. Там просто галочки раставишь, какие пакеты ставить, и жмешь установить.
Цитата (iVasya @ 14.01.2014 - 21:46) |
жаль только, что в реопзитарих (во всяком случае, убунты) как правило лежат версии софта далеко не самой свежей (стабильной!) версии. |
у дебиана с этим еще хуже, в убунте софт по новее, но это не проблема, просто подключаешь сторонний репозиторий, и всё. Я например, под дебианом юзаю dotdeb.org, там всегда самая последняя версия пыха, обновляется в течении нескольких дней после официального релиза. Вроде и к убунте его можно подключить.
Цитата (iVasya @ 14.01.2014 - 21:46) |
Спасибо за подсказки, в этом линуксе хрен разберешься без 100 грамм. |
это да, на то он и линукс
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.