Назад | Перейти на главную страницу

Найдите (или включите ?!) php.ini в Ubuntu 10.10

Хихо!

Сегодня я выхожу из зоны комфорта и хочу отредактировать php.ini файл и ... гость что? Его не существует!

$ php --ini

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Загруженный файл конфигурации: (нет)!

Какого черта? Я никогда этого не видел .. Есть ли способ создать или включить ini PHP?


Скомпилировал сам:

$ php -v

PHP 5.3.3 (cli) (built: Dec  3 2010 16:08:11) 
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Используйте find, чтобы найти файл:

find / -name "php.ini" 2> /dev/null

2> /dev/null просто скрывает для вас STDERR из-за ошибок прав доступа.

Если вы скомпилировали PHP самостоятельно, не изменяя путь PHP ini по умолчанию, он будет искать php.ini в /usr/local/lib/. Так положите php.ini в /usr/local/lib/php.ini.

В пакете PHP есть рекомендованный php.ini, который можно скопировать в это место (измените каталог на php-5.3.3):

sudo cp php.ini-recommended /usr/local/lib/php.ini

Собственно ... Ubuntu 10.10 (maverick) делает предоставить PHP 5.3.3 как часть стандартной системы пакетов apt. Если вы установите пакет php-fpm вы даже получите встроенный "новый" FPM (что, я думаю, и есть единственная причина, по которой вам в первую очередь нужна 5.3.3).

проверьте packages.ubuntu.com для доказательства

Тем не менее - если вы сами создали PHP и не указали никаких специальных параметров для настройки, тогда --prefix по умолчанию /usr/local/, и --with-config-file-path по умолчанию /usr/local/lib. Итак, php будет искать /usr/local/lib/php.ini.

Вы можете изменить это, установив (например) --with-config-file-path=/usr/local/etc как вариант ./configure.


Для полноты: в версиях Ubuntu до 10.10 (где php 5.3.3 не является частью базового дистрибутива) вы можете получить двоичные apt-пакеты для php 5.3.3 через dotdeb.org. Репозитории dotdeb отлично работают на Ubuntu 8.04 Hardy. В 10.04 Lucid они все еще работают, но вам придется вручную установить несколько других зависимостей (что является своего рода тормозом). В любом случае следуйте инструкциям на Страница инструкций Dotdeb.

Начиная с PHP5 файл php.ini в Ubuntu 10.10 или более поздней версии находится здесь:

/etc/php5/apache2/php.ini

php.ini в ubuntu обычно сохраняется в /etc/php5/apache2/php.ini и у вас его нет, потому что у вас не установлен php cli с помощью этого sudo apt-get install php5-cli

выход после установки будет

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/gd.ini,
/etc/php5/cli/conf.d/mcrypt.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/zend-framework.ini

у меня ровно php 5.3.3

php -v :

PHP 5.3.3-1ubuntu9.1 with Suhosin-Patch (cli) (built: Oct 15 2010 14:17:04) 
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans