Apache/PHP на Линуксе - что делать, если не работает, как диагностировать?

Программистское

Пока это просто короткая заметка, может со временем разрастётся во что-то большее. 

Мой товарищ предлагал запилить пост, который бы началинался фразой "В этой статье будет идти речь о настройках пхп для инвалидов". Я, конечно, так делать не буду(я бы не обижал инвалидов, и заменил бы на "... для полных идиотов"), но хочу выразить благодарность Саше за то, что мотивировал меня начать писать этот пост.

Так вот, если вы пока только осваиваете веб-разработку, но уже наигрались с WAMP, DENWER, Open Server Panel, Vertrigo, XAMPP, и подобным готовым пакетам для локальной разработки и хотите настроить веб-стек в Линуксе (как в настоящей системе, так и в виртуальной машине или WSL) - учитесь определять проблемы конфигурации.

О чём пойдёт речь тут?
  • Узнать, какой версии у вас PHP и Apache
  • Найти, где у них хранятся конфиги
  • А точно консольный PHP и PHP-FPM пользуются одним и тем же конфигом?
  • Права на папки, владелец и группа - что это, и как узнать правильные и настроить?
  • Порты, сокеты - для чего, как узнать и настроить?
  • Перезапуск сервисов


Важное отступление: я - лентяй, и всех считаю такими же, поэтому буду писать всё в контексте Ubuntu/Debian систем. В целом, в других системах подход к решению проблем сохраняется таким же, просто немного меняются команды.

Узнать, какой версии у вас PHP и Apache


С ПХП всё просто - обычно достаточно выполнить в консоли команду
php -v

Ответ будет приблизительно такой:
PHP 7.3.16-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Mar 20 2020 13:51:46) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.16-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Заодно мы узнали, что у нас загружен модуль для Zend OPcache. Ещё там может указываться инфа про xDebug (если он включён, конечно). Если не включён - вы не увидите его упоминаний.

Для Апача есть варианты. В Убунте и прочих дебиано-подобных системах его консольная команда будет так и называться - apache2. В других вариациях, это может быть httpd, apachectl. Так вот, узнаём версию:
apache2 -v

В ответ получим что-то такое:
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2020-03-13T12:26:16

...и тут меня накрыло полуночной ленью, и я сохранил этот черновик. Постараюсь дополнять, как будет время.
Немного про disavow и вред от некачественных ссылок
Немного про disavow и вред от некачественных
31.03.2020, Программистское
Горькое осознание бесперспективности хакинтоша на ноуте
Горькое осознание бесперспективности хакинтоша на
02.03.2020, Железячное
На чём локально запускать сайт в 2020 году, если кодишь на PHP под Windows?
На чём локально запускать сайт в 2020 году, если
24.02.2020, Программистское
Почему iPad Pro - нифига не следующий компьютер
Почему iPad Pro - нифига не следующий компьютер
10.04.2020, Железячное
Composer и WSL - где там папка vendor?
Composer и WSL - где там папка vendor?
12.03.2020, Программистское
Movie
В данной публикации отсутствуют комментарии !

Перед публикацией, советую ознакомится с правилами!

{login}

Твой комментарий..


Кликните на изображение чтобы обновить код, если он неразборчив

Лучшие новости
Оцените работу движка
Loading...

Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter