Хихо!
Сегодня я выхожу из зоны комфорта и хочу отредактировать 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