Где находится PHP.ini в Mac OS X Lion? Мысль это было в / usr / local / php5 / lib

268

Я хотел запустить PHP прямо на моем Mac, без комментариев httpd.conf, активировать общий доступ к сети, установить MySQL и т. Д. Я не могу найти свои файлы PHP, что наиболее важно, PHP.ini.

На моей старой машине он находился в / usr / local / php5 / lib Но каталог php5 не существует в / usr / local ..

Нужно ли мне получить посылку или я ищу неправильное место?

Запуск OS X 10.7.3, PHP 5.3.8, Apache / 2.2.21

Орун
источник
9
Простой способ найти местоположение - запустить phpinfo ();
Ральфе
10
Илиlocate php.ini
Пекка
12
@ralfe Следует добавить, что вам нужно искать параметр «Loaded Configuration File» в phpinfo () или php --ini(запустить в окне терминала). Потому что, если нет php.ini, оба они сообщат путь к файлу конфигурации как /etc(по крайней мере, на моей установке OS X 10.8). Если файл конфигурации не загружен, то вам следует попробовать ответ от Mac
Jason S
В / usr / local / php5 php-установщик entropy.ch и liip.ch устанавливают (ed) php. Никогда не было места установки Apple php.
Heiglandreas
8
Сделайте этоphp -i | grep php.ini

Ответы:

396

Вы должны найти его в / private / etc, если он существует, в противном случае:

sudo cp /private/etc/php.ini.default /private/etc/php.ini
макинтош
источник
Хорошо, есть файл php.ini.default в / private / etc, и я проверяю его. но есть идеи, почему у меня нет старой папки php5 в usr / local? Там было множество файлов, включая рекомендуемый php.ini. Это изменение в более новой версии, PHP5, Lion или что-то еще?
Орун
PHP5 включен по умолчанию в MacOS X начиная с 10.5 с указанным выше расположением для файла php.ini. Если вы установили его вручную, он не должен был быть удален во время обновления до Lion; странно ...
Mac
2
Файл php.ini.default на моей машине Lion не соответствовал всем настройкам по умолчанию, когда php.ini отсутствовал. Примечательно, что short_tags был выключен, error_reporting, log_errors и некоторые незначительные настройки отличались. Вы хотите сравнить ваши результаты php -iдо и после создания вашего php.ini.
Спулсон
1
на моем mac у меня был файл в /private/etc/php.ini, но php, похоже, игнорировал любые сделанные мной изменения, обнаружив, что он использует файл в /usr/local/php5/lib/php.ini
Кит Рамос
2
Этот ответ указал мне правильное направление. cp php.ini.default> php.ini и загруженная конфигурация CLI стала /etc/php.ini. Проверьте php -i | grep php.ini после
bpile
408

Чтобы найти INI-файл на вашем компьютере, откройте Terminal.appи выполните следующую команду:

php --ini

Если вам нужен шаблон для Lion, попробуйте это .

rkmax
источник
2
У меня нет загруженного php.ini прямо сейчас. В основном я ищу каталог с «рекомендуемым» шаблоном php.ini.
Орун
47

В терминале пойду php -i | grep php.ini. Должен дать вам несколько подсказок;)

SpoBo
источник
26

Ответы @Cronk и @Justin помогли мне познакомиться с Mac OS X 10.9 Mavericks. Фактически, в моей системе /etc/php.iniфайл полностью отсутствовал, и только когда я запустился phpinfo()на веб-сервере, я заметил, что не было никакого файла конфигурации. Копирование файла /etc/php.ini.defaultи добавление полного пути к mcrypt.soбиблиотеке в файл конфигурации решило проблему:

cp /etc/php.ini.default /etc/php.ini

Затем /etc/php.iniдобавьте следующую строку (используя правильный путь к вашему mcrypt.soфайлу):

extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"

Затем перезапустите Apache2:

apachectl restart
Питер Глюк
источник
О боже, ты мой герой! спасибо за идею использования полного пути mcrypt!
Хес
25

Как указывалось, php --ini команда скажет вам, где PHP ожидает найти файл php.ini.

Для стандартной установки, скорее всего, будет искать /etc/php.ini

Если вы использовали macports, то PHP может искать/opt/local/etc/php5/php.ini

Joat
источник
7
etc - это ссылка на приватный
файл
21

Запустите phpinfo()из любого файла, и он скажет вам, где он находится. Вот скриншот.

введите описание изображения здесь

Роберт Роша
источник
3
это лучший способ, так как вы можете найти копии php.ini в других папках «по умолчанию», но этот способ скажет вам ту, которую он на самом деле использует, так что вы избежите царапин на голове и разочарования, которое возникает, когда вы внести изменения, но php, кажется, совершенно не знает об этих изменениях.
Кит Рамос
Вы также можете открыть php REPL в своей оболочке, запустив php -aтуда, где вы затем запустите phpinfo();.
metakermit
14

У меня уже не один экземпляр PHP работает, поэтому другие ответы у меня не сработали. Это сделал:

Создайте файл PHP и откройте его локальный URL в вашем браузере:

<?php phpinfo(); ?>

Путь PHP.INI будет указан близко к началу.

Джастин
источник
3

Это довольно старая тема, но я хотел бы добавить дополнительные разъяснения.

Если у вас есть система с несколькими установками PHP (как у меня), результаты, которые вы получите от использования инструментов командной строки, МОГУТ БЫТЬ отличны от тех, которые фактически используются веб-сервером. Если вас интересует, какой PHP используется веб-сервером, используйте только информацию, собранную с веб-страницы, которая использует функцию phpinfo ().

Например, в моей системе версии, представленные двумя разными методами, были следующими:

Командная строка: 5.3.26

Веб: 5.3.13

Для пути к файлу php.ini все было иначе:

Командная строка: /private/etc/php.ini

Веб: /long/path/to/the/file/php.ini

Вы можете найти все возможные файлы php.ini, используя это:

найти / -name php.ini 2> & 1 | grep -v "отказано" | grep -v "каталог"

(элементы '2> & 1' и 'grep' просто ограничивают вывод команды полезной информацией, то есть избавляются от сообщений об ошибках)

В моей системе я нашел 3 файла INI. Поскольку меня интересовало, что использует веб-сервер, я знал, что должен использовать путь, полученный из результатов веб-страницы. Я внес изменения в файл php.ini, который там был указан, перезапустил apache и заново запустил веб-страницу; новые правки были показаны там.

Чтобы перезапустить Apache:

sudo apachectl -k перезапустить

- J

Cronk
источник
1

Я начинаю с «Hello World!», Как только я показываю это в своем браузере, я добавляю phpinfo();туда, и вы можете увидеть все. Сообщает вам, какие конфигурации загружены, все.

<?php
   echo 'Hello World!';

   phpinfo();
CenterOrbit
источник
0

Вы запускаете php_info () и видите строку ниже :)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
Quy Le
источник