Використання вбудованого PHP до macOS Monterey

PHP поставлявся разом з macOS, починаючи з macOS X (10.0.0) до macOS Monterey (12.0.0). Включення PHP до стандартного веб-сервера робиться простим розкоментуванням кількох рядків у конфігураційному файлі Apache httpd.conf у той час як CGI та/або CLI включені за умовчанням (доступні для використання термінальними програмами).

Увімкнення PHP згідно з наведеною нижче інструкцією призначене для швидкого налаштування локального середовища розробки . Вкрай рекомендується завжди оновлювати PHP до найновішої стабільної версії. Для будь-якого ПЗ, нові версії випускаються для виправлення помилок і додавання нової функціональності і PHP не є винятком. Читайте відповідну документацію щодо встановлення на macOS, в якій описуються всі подробиці. Наступні інструкції призначені для розробників-початківців і описують стандартну установку, що дозволяє швидко приступити до роботи. Всім користувачам рекомендується скомпілювати або встановити з репозиторію нову версію PHP.

Стандартне встановлення з використанням mod_php, який включається для стандартного веб-сервера macOS (за замовчуванням сервер доступний через системні налаштування) включає наступні кроки:

  1. Знайдіть та відкрийте конфігураційний файл Apache. За умовчанням він розташований /private/etc/apache2/httpd.conf ВикористанняFinderилиSpotlightдля знаходження файлу може бути не простим, тому що він знаходиться в приватному просторі і належить користувачевіroot

    Зауваження: Один з варіантів, як відкрити цей файл - використовувати консольний редактор, наприклад,nanoзапустити його через термінал. Оскільки файл належить користувачевіroot, для його відкриття буде потрібно використовувати командуsudo(яка підвищує привілеї до користувачаroot). Просто запустіть програмуTerminal, введіть командуsudo nano /private/etc/apache2/httpd.confі, коли буде запрошено пароль, введіть його. Корисні команди nano:^w(Шукати),^o(зберегти) та^x(закрити), де^– це клавіша Ctrl.

    Зауваження: Версії macOS до 10.5 містять застарілі версії PHP та Apache У цьому випадку конфігураційний файл може розташовуватися /etc/httpd/httpd.conf.

  2. У текстовому редакторі знайдіть наступні рядки і розкоментуйте їх вилучивши символ # з початку рядка (ці рядки зазвичай знаходяться в різних місцях файлу):

    # LoadModule php5_module libexec/httpd/libphp5.so
    
    # AddModule mod_php5.c
    

    Запам'ятайте шлях до файлу, тому що при збиранні PHP в майбутньому може знадобитися змінити ці рядки.

  3. Переконайтеся, що вибрані модулі будуть оброблятися як PHP-файли (.php .md і .inc).

    Оскільки наступні вирази вже містяться в httpd.conf (станом на Mac Panther), одного разу увімкнувши PHP, файли .php будуть автоматично оброблятися ним.

    <IfModule mod_php5.c>
        # Якщо PHP дозволено, він буде обробляти файли .php та .phps.
        AddType application/x-httpd-php .php
        AddType application/x-httpd-php-source .phps
    
        # Часто потрібно, щоб index.php розглядався як
        сторінка за замовчуванням, якщо вона прямо не вказана.
        # Зробити це можна так
        <IfModule mod_dir.c>
            DirectoryIndex index.md index.php
        </IfModule>
    </IfModule>
    

    Зауваження :

    До macOS 10.5 (Leopard), до складу ОС був включений PHP 4, а не PHP 5. У такому випадку в інструкціях вище просто поміняйте 5 на 4.

  4. Переконайтеся, що DirectoryIndex завантажує індексний файл за замовчуванням. Ця поведінка задається в httpd.conf. Зазвичай використовуються index.php та index.md. За замовчуванням index.php дозволено. Якщо потрібно, то вимкніть.

  5. Визначте місце розташування php.ini або використовуйте налаштування за замовчуванням Зазвичай на macOS він розташований на шляху /usr/local/php/php.ini та викликphpinfo()виведе відповідну інформацію. Якщо php.ini не використовується, PHP використовуватиме значення за замовчуванням. Також зверніть увагу на FAQпошук php.ini

  6. Як знайти або встановитиDocumentRootDocumentRoot – це коренева директорія веб-сервера, в якій лежать скрипти сайту. Зазвичай шлях за замовчуванням він дорівнює /Library/WebServer/Documents, але його можна змінити на будь-який інший в httpd.conf. Також, для індивідуальних користувачів, DocumentRoot може бути встановлений як /Users/yourusername/Sites

  7. Створення файлу зphpinfo()

    Функцияphpinfo()відображає інформацію про PHP. Створіть у DocumentRoot скрипт із таким кодом:

    Loading...
  8. Перезапустіть Apache і запитайте через браузер створений файл.

    Для перезапуску виконайтеsudo apachectl graceful у терміналі або виконайте stop/start для "Personal Web Server" у системних налаштуваннях macOS. За промовчанням локальні файли можна завантажити, ввівши в рядок браузера URL, наприклад: http://localhost/info.php, або використовуючи DocumentRoot в локальній директорії користувача, таким чином:http://localhost/~yourusername/info.php

CLI (або більш старих версіях CGI) називається як php і міститься в /usr/bin/php. Відкрийте термінал, прочитайте розділ документації PHP командна строка, і запустіть php -v для перевірки встановленої версії PHP. Виклик функції phpinfo() також покаже цю інформацію.