error_log для каждого виртуального хоста?

На одном Linux-сервере с Apache и PHP 5 9X_virtualhost у нас есть несколько виртуальных хостов 9X_virtualhost с отдельными файлами журналов. Кажется, мы 9X_httpd не можем разделить php error_log между виртуальными 9X_httpd хостами.

Переопределение этой настройки в 9X_virtualhost или httpd.conf, похоже, ничего не дает.

Есть ли способ 9X_virtualhost иметь отдельный php error_logs для каждого виртуального 9X_linux хоста?

124
0
11
Общее количество ответов: 11

Ответ #1

Ответ на вопрос: error_log для каждого виртуального хоста?

Если кто-то придет посмотреть, он должен 9X_linux выглядеть так:

 ServerName example.com DocumentRoot /var/www/domains/example.com/html ErrorLog /var/www/domains/example.com/apache.error.log CustomLog /var/www/domains/example.com/apache.access.log common php_flag log_errors on php_flag display_errors on php_value error_reporting 2147483647 php_value error_log /var/www/domains/example.com/php.error.log 

Это предназначено только для разработки, поскольку 9X_virtualhost display_error включен. Вы заметите, что журнал ошибок 9X_virtualhosts Apache отделен от журнала ошибок PHP. Хорошая 9X_virtual-hosts информация находится в php.error.log.

Найдите здесь ключ 9X_virtual-hosts error_reporting http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

146
3

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

Ответ #2

Ответ на вопрос: error_log для каждого виртуального хоста?

Чтобы установить журнал Apache (не PHP), самый простой 9X_virtualhost способ сделать это:

 # Stuff, # More Stuff, ErrorLog /path/where/you/want/the/error.log 

Если нет ведущего «/», предполагается, что 9X_virtualhosts он относительный.

Apache Error Log Page

88
1

  • Это журнал ошибок apache, который отделен от журнала ошибок PHP (см. Другие коммен ...

Ответ #3

Ответ на вопрос: error_log для каждого виртуального хоста?

Обычно я просто указываю это в файле .htaccess или в 9X_apache файле vhost.conf домена, над которым я работаю. Добавьте 9X_virtualhosts это в один из этих файлов:

php_admin_value error_log "/var/www/vhosts/example.com/error_log" 

14
2

  • Кто-нибудь может прокомментировать разницу между p ...

Ответ #4

Ответ на вопрос: error_log для каждого виртуального хоста?

По умолчанию функция error_log() выводит 9X_virtual-hosts данные в журнал ошибок Apache. Если этого 9X_httpd не происходит, проверьте настройки php.ini 9X_virtual-hosts на наличие директивы error_log. Не устанавливайте 9X_virtual-hosts этот параметр, чтобы использовать файл журнала 9X_httpd Apache для текущего виртуального хоста.

8
0

Ответ #5

Ответ на вопрос: error_log для каждого виртуального хоста?

Не устанавливайте error_log туда, где идет ваш материал 9X_virtualhosts syslog, eg /var/log/apache2, потому что эти ошибки будут перехвачены 9X_virtualhost ErrorLog. Вместо этого создайте subdir в своей папке проекта для журналов 9X_virtual-hosts и выполните php_value error_log "/path/to/project/logs". Это касается как .htaccess файлов, так и vhosts. Также 9X_virtualhosts убедитесь, что вы включили php_flag log_errors

7
0

Ответ #6

Ответ на вопрос: error_log для каждого виртуального хоста?

Попробуйте добавить php_value error_log '/path/to/php_error_log в конфигурацию VirtualHost.

9X_apache

6
0

Ответ #7

Ответ на вопрос: error_log для каждого виртуального хоста?

Да, можете попробовать,

php_value error_log "/var/log/php_log" 

в .htaccess или вы можете 9X_httpd попросить пользователей использовать ini_set() в 9X_linux начале своих скриптов, если они хотят вести 9X_virtual-hosts журнал.

Другим вариантом было бы разрешить 9X_apache сценариям по умолчанию php.ini в папке со сценарием, затем 9X_virtualhost перейти в корневую папку пользователя/хоста, затем 9X_apache в корень сервера или что-то подобное. Это 9X_linux позволит хостам добавлять свои собственные 9X_virtualhost значения php.ini и свои собственные местоположения 9X_virtual-hosts error_log.

5
0

Ответ #8

Ответ на вопрос: error_log для каждого виртуального хоста?

php_value error_log "/var/log/httpd/vhost_php_error_log" 
У меня это работает, но мне нужно изменить 9X_linux разрешение файла журнала.
или Apache запишет 9X_httpd журнал в свой error_log.
5
0

Ответ #9

Ответ на вопрос: error_log для каждого виртуального хоста?

У моего Apache было что-то подобное в httpd.conf. Просто 9X_virtualhost измените настройки ErrorLog и CustomLog

 ServerAdmin [email protected] DocumentRoot /opt/web ServerName myvhost ErrorLog logs/myvhost-error_log CustomLog logs/myvhost-access_log common 

4
1

  • Мы говорим здесь о журнале PHP, а не о журнале Apach ...

Ответ #10

Ответ на вопрос: error_log для каждого виртуального хоста?

Вы можете попробовать:

 php_value error_log "/var/log/httpd/vhost_php_error_log" 

Но я не уверен, что 9X_linux это сработает. Я пытался на своих сайтах 9X_apache без успеха.

3
0

Ответ #11

Ответ на вопрос: error_log для каждого виртуального хоста?

Создать простой VirtualHost:

пример имени 9X_linux хоста: - thecontrolist.localhost

  1. C: \ Windows \ System32 \ drivers 9X_httpd \ etc

    127.0.0.1 thecontrolist.localhost в файле hosts

  2. C: \ xampp \ apache \ conf 9X_virtualhost \ extra \ httpd-vhosts.conf

     ServerName thecontrolist.localhost ServerAlias thecontrolist.localhost DocumentRoot "/xampp/htdocs/thecontrolist" Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local 
  3. Не забудьте перезапустить 9X_apache Apache. для получения дополнительной информации 9X_linux check эта ссылка

2
0