0

Using php5.6 (legacy codebase), apache, ubuntu16.

phpinfo() says that: log_errors is on error_log = /var/log/apache2/php_errors.log

When display_errors is on there is output. But /var/log/apache2/ does not contain a php_errors.log file.

Have restarted apache (/etc/init.d/apache2 restart).

log_errors_max_len is 1024.

ls -ld /var/log/apache2
drwxr-x--- 2 root   adm    4096 Mar 30 18:47 apache2

ls -l /var/log/apache2
-rw-r----- 1 root adm        0 Mar 30 06:25 access.log
-rw-r----- 1 root adm     5967 Mar 30 01:47 access.log.1
-rw-r----- 1 root adm    11618 Mar 31 04:07 error.log
-rw-r----- 1 root adm    11742 Mar 30 06:25 error.log.1

What am I missing?

4
  • 2
    Apache2? If so, your virtual host(s) might specify other log file locations where PHP errors/warnings/etc. are output. Check /var/log/apache2/*-error.log Commented Mar 31, 2017 at 4:26
  • You are correct! Is there a directive I can add to separate out the php error log? Commented Mar 31, 2017 at 5:18
  • try error_log=syslog and if it works then it is a write permission issue Commented Mar 31, 2017 at 6:04
  • In fact, phpinfo() should display two values ("Local value" and "Master value") and whenever different the first one is the one in effect. You also probably need to run PHP as Apache module in order to be able to log into /var/log/apache. Commented Mar 31, 2017 at 18:26

1 Answer 1

0

From above comments. When using Apache2, each VirtualHost can have it's own log files.

So the /etc/apache2/ directory would have a sites-available directory along these lines:

├── sites-available
│   ├── 000-default.conf
│   ├── default-ssl.conf
│   ├── default-tls.conf
│   ├── www.domain.com.conf
│   └── www.domain.com-le-ssl.conf

And the www. files might look like the following example.

To set up specific php log file, separate from Apache logs, follow this answer:

<VirtualHost *:80>
    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
</VirtualHost>
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.