Your HTTP process cannot access the file. A CentOS 6 Apache process runs as the user apache.
Example:
[root@talara ~]# ps aux | grep httpd
root 2300 0.0 2.7 334744 28020 ? Ss Jul10 0:47 /usr/sbin/httpd
apache 8354 0.0 2.0 334744 20536 ? S Jul21 0:00 /usr/sbin/httpd
apache 8355 0.0 2.0 334744 20536 ? S Jul21 0:00 /usr/sbin/httpd
apache 8356 0.0 2.0 334744 20536 ? S Jul21 0:00 /usr/sbin/httpd
To test accessing the file as apache I do:
[root@talara ~]# su apache
bash-4.1$ cat /var/log/messages
cat: /var/log/messages: Permission denied
bash-4.1$
Most ways I know of to allow apache direct access to those files will be frowned upon in one way or another due to the HUGE security hole it opens. However if you think you have security locked down enough, add apache to the sudoers file with no password (see? VERY very bad). Then change your PHP code to something like this:
echo system('sudo cat /var/www/vhosts/test/statistics/logs/access_log');
Input from the community on a better approach would be welcome.
ls -l /var/www/vhosts/test/statistics/logs/access_log
say? – Ulrich Schwarz Jul 24 at 18:13