Де 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 ..

Чи потрібно мені отримати пакет чи я шукаю в неправильному місці?

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


9
Найпростіший спосіб знайти місце - це запустити phpinfo ();
ralfe

10
Абоlocate php.ini
Пекка

12
@ralfe Слід додати, що вам потрібно шукати налаштування "Завантажений файл конфігурації" з phpinfo () або php --ini(запустити у вікні терміналу). Тому що, якщо немає php.ini, вони будуть повідомляти про шлях конфігураційного файлу як /etc(принаймні, на моїй установці OS X 10.8). Якщо не завантажено жоден файл конфігурації, слід спробувати відповідь від mac
Jason S

/ usr / local / php5 - це те, де php-інсталятор entropy.ch та liip.ch встановлюють (ed) php. PHP-інсталяція ніколи не була локацією.
heiglandreas

8
Зробіть цеphp -i | grep php.ini

Відповіді:


396

Ви повинні знайти його в / private / тощо, якщо він існує, інакше:

sudo cp /private/etc/php.ini.default /private/etc/php.ini

Гаразд, є php.ini.default в / private / тощо, і я перевіряю це. але будь-яка ідея, чому я не маю свою стару папку php5 в usr / local? Раніше там було безліч файлів, включаючи рекомендовані php.ini. Це зміна в новій версії або PHP5, або Леві чи щось інше?
Орунь

PHP5 включено за замовчуванням у MacOS X з 10.5 із вказаним вище розташуванням для файлу php.ini. Якщо ви встановили його вручну, його не слід було б видаляти під час оновлення до Lion; дивно ...
mac

2
Файл php.ini.default на моїй машині Lion не відповідав усім налаштуванням за замовчуванням, коли php.ini не було. Помітно короткі теги було Вимкнено, помилки_репортажів, помилки_помилки та деякі незначні параметри. Ви хочете порівняти свої результати php -iдо та після створення php.ini.
подружжя

1
на моєму комп'ютері у мене був файл у /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

407

Щоб знайти файл ini на вашій машині, відкрийте Terminal.appта запустіть таку команду:

php --ini

Якщо вам потрібен шаблон для Лева, спробуйте це .


2
Зараз у мене немає завантажених php.ini. В основному я шукаю каталог із "рекомендованим" шаблоном php.ini.
Орун

47

У терміналі роблять php -i | grep php.ini. Слід дати вам декілька підказок;)


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

Якщо ви використовували макпорти, можливо, PHP шукає/opt/local/etc/php5/php.ini


7
тощо - це посилання на приватне / etc: / etc -> private / etc
pm_labs

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

Web: 5.3.13

Для шляху до файлу php.ini речі теж були різними:

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

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

Ви можете знайти всі можливі файли php.ini за допомогою цього:

знайти / -ім'я php.ini 2> & 1 | grep -v "відмовлено" | grep -v "каталог"

(елементи "2> & 1" і "grep" просто обмежують вихід команди в корисній інформації, тобто позбавляються від повідомлень про помилки)

У моїй системі я знайшов 3 файли INI. Оскільки мене цікавило, чим користується веб-сервер, я знав, що я повинен використовувати шлях, повернутий з результатів веб-сторінки. Я вніс зміни до файлу php.ini, який там був перелічений, перезапустив apache та перезапустив веб-сторінку; там були показані нові редакції.

Щоб перезапустити apache:

sudo apachectl -k перезапуск

- J


1

Я починаю з "Hello World!", Як тільки я отримую те, що відображається у моєму браузері, я кидаю phpinfo();туди, і ви можете побачити всі речі. Повідомляє, які конфігурації завантажуються, все.

<?php
   echo 'Hello World!';

   phpinfo();

0

Ви запускаєте php_info () і бачите рядок нижче :)

Loaded Configuration File   /Applications/XAMPP/xamppfiles/etc/php.ini
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.