Назад | Перейти на главную страницу

Виртуальные хосты Apache с PHP и настраиваемыми журналами - как изолировать ошибки PHP?

Я пытаюсь настроить простую среду хостинга для своего приложения на сервере Ubuntu.

Я создал такой виртуальный хост:

<VirtualHost *:80>
        ServerAdmin info@example.org
        ServerName www.example.com
        ServerAlias example.com

        DocumentRoot /home/owner/example.com/docs
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /home/owner/example.com/docs/>
                Options -Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /home/owner/example.com/logs/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /home/owner/example.com/logs/access.log combined

        php_flag log_errors on
        php_value error_log /home/owner/example.com/logs/php-error.log

</VirtualHost>

Теперь моя проблема в том, что ошибки и предупреждения PHP выдаются в error.log - не php-error.log как я и надеялся.

Как этого добиться?

Убедитесь, что у пользователя apache есть разрешение на создание файла /home/owner/example.com/logs/php-error.log в дополнение к возможности записи в него.

Скорее всего, каталог /home/owner/example.com/logs/ имеет 755 разрешений, что помешает Apache создать файл php-error.log.