[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Этот хитрый php на linux (ubuntu)
iVasya
На винде с этим всё придельно просто. Скачал длльку, положил в папку 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 ... и нифига.

Что за магия?
forza
у apache свой php.ini

_____________
Заработок для веб-разработчиков: CodeCanyon
Мое Портфолио
bestxp
вообще то не верно смотришь
расширения подключаются проще некуда

есть /etc/php5/conf.d/ там лежит куча ини файлов с настройками под каждое расшиение
и там же создаются для расширений которые установлены через pecl или вообще скомпилированы руками

путь может отличаться у разных дистрибутивов
Aeq
Цитата (bestxp @ 14.01.2014 - 15:00)
путь может отличаться у разных дистрибутивов

а мне казалось что в папку php.d сам php смотрит, т.к. при компиляции указывается только папка где будет лежать php.ini, соответственно php.d там же. т.е. от дистра может зависеть только эта часть "/etc/php5". поправьте если не прав.
killer8080
Цитата (iVasya @ 14.01.2014 - 12:47)
1) через репозиторий, например, apt-get install php5-curl

что гораздо удобней, чем ручками подтыкать длл-ки smile.gif
Цитата (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
Оо, фигасе, ну и запутано всё.
Цитата
крнфиги подключения и настроек расширений, помещаются в отдельные файлы, все они лежат в директории /etc/php5/mods-available

Таки да, таки да!!!
Т.е. если что, скачать расширение в /usr/lib/php5/жуткое_название_папки_типо_20121212/ и руками создать в /etc/php5/mods-available имя_расширения.ini-файл с подключением и настройкой данного расширения.

А вообще, как я понял, установка пакетом через апт - лучший способ, жаль только, что в реопзитарих (во всяком случае, убунты) как правило лежат версии софта далеко не самой свежей (стабильной!) версии.

Спасибо за подсказки, в этом линуксе хрен разберешься без 100 грамм.
killer8080
Цитата (iVasya @ 14.01.2014 - 21:46)
А вообще, как я понял, установка пакетом через апт - лучший способ,

да, кстати если работать не из консоли, то мможно ставить пакеты например через графический synaptic, там просто в фильтре вводишь php5, и он покажет все доступные пакеты, в названии которых присутствует php5. Там просто галочки раставишь, какие пакеты ставить, и жмешь установить.
Цитата (iVasya @ 14.01.2014 - 21:46)
жаль только, что в реопзитарих (во всяком случае, убунты) как правило лежат версии софта далеко не самой свежей (стабильной!) версии.

у дебиана с этим еще хуже, в убунте софт по новее, но это не проблема, просто подключаешь сторонний репозиторий, и всё. Я например, под дебианом юзаю dotdeb.org, там всегда самая последняя версия пыха, обновляется в течении нескольких дней после официального релиза. Вроде и к убунте его можно подключить.
Цитата (iVasya @ 14.01.2014 - 21:46)
Спасибо за подсказки, в этом линуксе хрен разберешься без 100 грамм.

это да, на то он и линукс smile.gif
Быстрый ответ:

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