Где находится php ini mac os

Конфигурация Apache и PHP на Mac OS X

Существует множество способов развернуть локальный сервер на Mac OS X, но сама система уже содержит предустановленный веб-сервер Apache и интерпретатор PHP, которые необходимо активировать и настроить.

Данное руководство требует некоторых навыков работы с командной строкой и знания редактора nano, поэтому рекомендую прочитать хорошую книгу по основам работы с командной строкой и терминалом в Mac OS X «Take Control of the Mac Command Line with Terminal».

Приведенный ниже материал является универсальным и будет полезен пользователям любых операционных систем.

Включить веб-сервер можно в настройках: Системные настройки > Общий доступ > включить службу Общий веб-доступ.

Если набрать в адресной строке браузера http://localhost/ , то сервер вернет страницу с текстом «It works!».

Команды для работы с Apache через командную строку:

sudo apachectl start | stop | restart

Ошибка Apache в Mac OS X 10.6.5 и выше

Следующая ошибка наблюдается при перезапуске Apache в Mac OS X 10.6.5 и выше, если попытаться перезапустить сервер через командную строку, Apache вернет ошибку:

/usr/sbin/apachectl: line 82: ulimit: open files: cannot modify limit: Invalid argument

Необходимо внести изменения в скрипт apachectl ( /usr/sbin/apachectl ):

sudo nano /usr/sbin/apachectl

закомментируем строку 82:

ULIMIT_MAX_FILES=»ulimit -S -n `ulimit -H -n`»

и добавим под ней:

Сохраняем скрипт и перезапускаем Apache.

Конфигурация Apache

Для конфигурации Apache необходимо открыть файл /etc/apache2/httpd.conf :

sudo nano /etc/apache2/httpd.conf

Переходим к строке 116 и подключаем PHP (необходимо раскомментировать строку):

LoadModule php5_module libexec/httpd/libphp5.so

Зададим свой каталог для локального сервера, поменяем путь к корневому каталогу в строке 168 и 195. После этих изменений корневым каталогом будет папка Сайты (Sites), находящаяся в домашнем каталоге пользователя.

Аналогично заменим прежний путь в строке 195:

В строке 230 пропишем какие типы файлов и в какой последовательности должен обрабатывать Apache:

В строке 264 можно задать место для хранения журнала ошибок Apache:

Раскомментируем строку 469, чтобы подключить файл в котором будем записывать виртуальные хосты:

Сохраняем все изменения в файле httpd.conf и перезапускаем Apache. Если перейти по адресу http://localhost/ , загрузится стартовая страница из папки сайты с приветствием «Ваш веб-сайт».

Проверим работоспособность PHP, для этого создадим в каталоге Сайты тестовый PHP-скрипт:

/Sites/index.php
sudo nano

и напишем сценарий, который покажет конфигурацию PHP:

Сохраняем файл index.php и вновь переходим по адресу http://localhost/ , должна открыться страница с информацией о версии PHP. Если по прежнему загружается страница приветствия, необходимо проверить настройки Apache (строка 230).

Конфигурационный файл php.ini находится в папке /private/etc/php.ini.defaults , его необходимо переименовать в php.ini :

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

Конфигурация виртуальных хостов.

Рекомендую познакомиться с более простым решением для работы с виртуальными хостами — VirtualHostX, с помощью этого приложения можно упростить весь процесс конфигурации виртуальных хостов.

Все проекты будут размещаться в каталоге пользователя Сайты ( /Users/имя_пользователя/Sites/ ). Создадим в этом каталоге новую папку с названием test , а в ней файл index.php с тестовым скриптом. Локальный сайт будет открываться по адресу http://test/ . Переходим к командной строке и вводим следующие команды:

/Sites/test
touch index.php
nano index.php

и добавим сценарий:

Теперь займемся конфигурацией виртуальных хостов. Для начала откроем файл /etc/hosts и добавим в исключения адрес локального сайта ( http://test/ ). Переходим к командной строке:

Читайте также:  Как переустановить windows mac

sudo nano /etc/hosts

и добавляем строчку:

Добавим записи с конфигурацией нового виртуального хоста:

sudo nano /private/etc/apache2/extra/httpd-vhosts.conf

И в конец файла добавляем записи:

Сохраняем изменения и перезапускаем Apache. Теперь, если перейти по адресу http://test/ откроется страница с приветствием «Hello world!».

Все указания выше приведены с учетом моих вкусов и предпочтений, цель данного руководства разобраться с основными принципами конфигурации нативного Apache и PHP на Mac OS X. С огромным удовольствием выслушаю предложения и замечания по доступности изложенного материала.

Комментарии (8):

Андрей

Огромное спасибо за столь подробное изложение. Только я добавлю свои пять копеек. Сразу после первичного редактирования httpd.conf, когда включался php5 и указывалась директория, при переходе на localhost браузер выдавал ошибку 403 — Forbidden. Если посмотреть лог, то можно увидеть причину — не существующие тестовые хосты в файле httpd-vhosts.conf. Нужно открыть его и вставить в конце файла хост:

ServerAdmin [email protected]
DocumentRoot «/Users/Имя пользователя/Sites»
ServerName localhost
ErrorLog «/private/var/log/apache2/mysite-error_log»
CustomLog «/private/var/log/apache2/mysite-access_log» common

Теперь localhost заработает. Тестовые хосты можно удалить.

Александр

И от меня поклон автору. Многое понял и многому научился.
И у меня — как и у Андрея — при переходе на localhost браузер выдавал ошибку 403 — Forbidden.
Только из комментария Андрея я не понял что нужно сделать. Слитно написано
Пожалуйста, напишите по шагам:
1.
2.
3.
Заранее благодарен.

softspice

После слов (команд):
«sudo nano /etc/hosts
и добавляем строчку:
127.0.0.1 test»
Нужно перезапустить сервер:

Иначе будет использоваться старый файл hosts.

Александр

У автора то ли кавычки съелись в разделе «Конфигурация виртуальных хостов», то ли еще что, но на данный момент в записи отсутствуют тэги VirtualHost и Directory. Короче, чтобы заработали виртуальные хосты, правильнее писать в файле /private/etc/apache2/extra/httpd-vhosts.conf так:

ServerAdmin [email protected]
DocumentRoot «/Users/имя юзера/Sites/test»
ServerName test

AllowOverride All
Order allow,deny
Allow from all

Иначе работать не будет ниче.

Спасибо за статью!

Александр

Опять кавычки съелись:

ServerAdmin [email protected]
DocumentRoot «/Users/имя юзера/Sites/test»
ServerName test

AllowOverride All
Order allow,deny
Allow from all

makegood

Алексей

Вроде все так сделал. Только только у меня все равно запускается index.php из sites а не из sites/test
В чем может быть проблема?

makegood

Алексей, скорее всего, неправильно настроены хосты.
Рекомендую настройку через MacPorts, на блоге есть подробная инструкция.

Источник

Где PHP.ini в Mac OS X Lion? Думал, что это было в / usr / local / php5 / lib

Я хотел запустить некоторый PHP прямо на моем Mac, uncommented 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

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

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

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

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

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

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

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

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

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

Читайте также:  Как включить проверку диска при загрузке windows

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

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

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

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

Путь PHP.INI будет указан ближе к вершине.

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

Если у вас есть система с несколькими установками PHP (как и мои), результаты, полученные вами с помощью инструментов командной строки, могут быть разными, чем то, что фактически используется веб-сервером. Если вас интересует, что PHP используется веб-сервером, используйте информацию, собранную с веб-страницы, использующей функцию «phpinfo ()».

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

Для пути к файлу php.ini все было по-другому:

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

find / -name php.ini 2> & 1 | grep -v «denied» | grep -v «directory»

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

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

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

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

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

Источник

macos — Почему в моей Mac OS X нет файла php.ini? Как мне получить его, чтобы я мог скачать и установить композитор?

У меня проблемы с файлом php.ini, который не существует или, по крайней мере, не в нужном месте.

Моя конечная цель — создавать проекты с помощью Laravel на моем Macbook Pro (Mac OS X). Для установки Laravel мне нужно установить Composer (https://getcomposer.org/ ). Чтобы загрузить Composer, я должен запустить в Терминале следующее:

php -r «copy (‘https://getcomposer.org/installer ‘,’ composer-setup.php ‘); «php -r» if (hash_file (‘ SHA384 ‘,’ composer-setup.php ‘) ===’ e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3d ’09e2a0eb0e6f6d6d6d6d6d6b6d6b6d4 > else echo PHP_EOL; «php composer-setup.php
php -r «unlink (‘composer-setup.php’);»

Некоторые настройки на вашем компьютере делают Composer неспособным работать должным образом.
Убедитесь, что вы исправили проблемы, перечисленные ниже, и снова запустите этот скрипт:

Параметр Detect_unicode должен быть отключен.
Добавьте следующее в конец вашего php.ini :
detect_unicode = Off

Файл php.ini не существует. Вам придется создать один.
Если вы не можете изменить INI-файл, вы также можете запустить php -d option=value изменять значения ini на лету. Вы можете использовать -d несколько раз.

Теперь я понимаю, что на всех компьютерах Mac установлен PHP по умолчанию. Кажется, нет. Я действительно не понимаю, почему, нет файла php.ini, где он должен быть (/ etc). Я также сделал много сайтов, используя MAMP, который включает в себя PHP. Я предполагаю, что Composer не ищет php.ini, используемый для MAMP, но требует его в etc /. Но как я могу получить файл php.ini там безопасно?

Я застрял в том, чтобы заставить Composer и Laravel работать на моем Mac уже давно. Спасибо, что нашли время, чтобы помочь мне. Это значит многое.

Решение

В общем-то php.ini находится в /etc Вы можете проверить, где это может быть, выполнив следующую команду в Терминале:

Выход:

Если у вас его нет, я бы воспользовался советом инструкций и создал его. Существует «по умолчанию», который вы можете скопировать, чтобы создать его:

Другие решения

Я работал над многими проектами в laravel для OSX и, честно говоря, я предлагаю вам не устанавливать пользовательскую среду, как предложено в документации, для разработки, которую вы могли бы использовать:

1) усадьба : на основе Vagrant, мультиплатформенный (для этого требуется virtualbox или vmware)

2) камердинер : специфично для osx (должно быть быстрее)

Для обоих вы получите Php, Nginx, MySQL, Redis, Composer, узел и многое другое полностью настроены.

Я всегда использовал Homested, и, следуя руководству, вы получите полную среду разработки за несколько минут.

Источник

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

Я хотел запустить несколько 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для пути к файлу 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 перезапустить

Источник

Оцените статью