1 (03.07.2014 23:42:09 отредактировано iAlexandre)

Всем привет, подскажите, работаю с VPS на CentOS 6, столкнулся с проблемой - не работает include (); .
Описываю ситуацию: сразу после страницы авторизации пользователя перекидывает сюда: http://хх.хх.хх.хх/Main/general/main.php
В main.php код

include('../tpls/hed.tpl');
include('../tpls/top.tpl');

Эти два файла находятся тут http://хх.хх.хх.хх/Main/tpls/ и отвечают за оформление, которое, увы, почему-то не хочет работать как нужно, а именно - не цепляется инклудом вообще, на сколько я понимаю. На хостинге бесплатном все работает, а вот на моем VPS'e не хочет.


Добавлял в httpd.conf такие строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php phtml .php
AddType application/x-httpd-php .php .inc .html .htm

и сменил "ServerName www.example.com:80" на "ServerName localhost:80"

Больше никаких манипуляций не производил. Помогите, пожалуйста. Всю голову уже сломал )

2

iAlexandre пишет:

не цепляется инклудом вообще, на сколько я понимаю

логи-то покажете?

3

логи-то покажете?

Будьте любезны - подскажите как? Я пока только осваиваюсь по-немногу, не все знаю еще ab

4

Я бы для начала включил вывод всех сообщений на экран.

В корне, где лежит сайт, я бы создал файл (если его нет) .htaccess  с содержимым.

php_flag display_errors on
# E_ALL --> 2047
php_value error_reporting 2047
php_flag display_startup_errors on
php_flag html_errors on
# php_value error_log /var/www/html/PHP_errors.log 

Может покажет, что не так.

No Woman No Cry...

5

iAlexandre пишет:

Будьте любезны - подскажите как

посмотреть логи веб-сервера, как минимум

6

В корне, где лежит сайт, я бы создал файл (если его нет) .htaccess  с содержимым.

Может покажет, что не так.

Сайт лежит в /var/www/html/
Файл создал, ничего не происходит, логфайл не создается, создал вручную - он пустой.

посмотреть логи веб-сервера, как минимум

скажите как, либо дайте ссылку где об этом можно почитать, спасибо)

7

В /var/log/httpd/error_log такое:

[Thu Jul 03 11:40:53 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Jul 03 11:40:53 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Jul 03 11:40:53 2014] [notice] Digest: done
[Thu Jul 03 11:40:53 2014] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations
[Thu Jul 03 11:43:15 2014] [notice] caught SIGTERM, shutting down
[Thu Jul 03 11:43:20 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Jul 03 11:43:20 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Jul 03 11:43:20 2014] [notice] Digest: done
[Thu Jul 03 11:43:20 2014] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- resuming normal operations
[Thu Jul 03 11:45:06 2014] [notice] caught SIGTERM, shutting down
[Thu Jul 03 11:45:06 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Jul 03 11:45:06 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Jul 03 11:45:06 2014] [notice] Digest: done
[Thu Jul 03 11:45:06 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- r$
[Thu Jul 03 11:45:19 2014] [error] [client 93.127.108.138] PHP Warning:  phpinfo(): It is not safe to rely on the system's $
[Thu Jul 03 11:58:44 2014] [notice] caught SIGTERM, shutting down
[Thu Jul 03 11:58:44 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Jul 03 11:58:44 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Jul 03 11:58:44 2014] [notice] Digest: done
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/module.so' - /usr/lib/php/modules/module.so$
[Thu Jul 03 11:58:44 2014] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- r$
[Thu Jul 03 12:02:17 2014] [error] [client xx.xx.xx.xx] File does not exist: /var/www/html/style, referer: http://xx.xx$
[Thu Jul 03 12:09:26 2014] [error] [client xx.xx.xx.xx] File does not exist: /var/www/html/style, referer: http://xx.xx$
[Thu Jul 03 12:14:40 2014] [error] [client xx.xx.xx.xx] File does not exist: /var/www/html/style, referer: http://xx.xx$
[Thu Jul 03 12:15:31 2014] [error] [client xx.xx.xx.xx] File does not exist: /var/www/html/style, referer: http://xx.xx$
[Thu Jul 03 12:22:10 2014] [error] [client xx.xx.xx.xx] File does not exist: /var/www/html/style, referer: http://xx.xx$
[Thu Jul 03 12:45:31 2014] [notice] caught SIGTERM, shutting down
[Thu Jul 03 12:45:31 2014] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Jul 03 12:45:31 2014] [notice] Digest: generating secret for digest authentication ...
[Thu Jul 03 12:45:31 2014] [notice] Digest: done
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/module.so' - /usr/lib/php/modules/module.so$

8 (04.07.2014 00:52:25 отредактировано Marley)

1) А если измените
include('../tpls/hed.tpl');
на несуществующий файл, будет выведено сообщение об ошибке?

2) В исходном коде страницы емеются элементы включаемых файлов?

No Woman No Cry...

9 (04.07.2014 03:36:57 отредактировано iAlexandre)

А если измените
include('../tpls/hed.tpl');
на несуществующий файл, будет выведено сообщение об ошибке?

Заменил все ссылки на несуществующие файлы. Страница загрузилась точно так же, как и при ссылке на существующий файл.

В исходном коде страницы емеются элементы включаемых файлов?

Инклудятся файлы оформления, но похоже не только с ними проблема, вот кусок кода с main.php

if(isset($_GET['page'])){
    include($_GET['page']);
}
else{
    if(in_array(0)){
        echo "<br>";
        echo "<font style='font:normal 15px;'>".$arr_text[3]."</font><br><br>";
        echo "<ol>";
        echo "<li><a href=\"main.php?page=../inst/inst_edit.html\">$arr_text[4] \"Instruction\".</a>";
    }

10 (04.07.2014 01:46:34 отредактировано Marley)

Если никаких сообщений об ошибках не вывелось, может файл .htaccess и не работает вовсе?

Попробуйте в него добавить следующие строки. Если все ОК. то получите сообщение, об ошибке.

order deny,allow
deny from all

Можете привести код с main.php, где подключаются шаблоны с дерективами вроде <?php

============

Ну и заодно, создайте файл

info.php с содержимым:

<?php

phpinfo();

?>

вызовите его и покажите результат

====================================
====================================

Я посмотрел, на своем тестовом.
В httpd.conf

Таких директив у меня нет, но php работат.

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php phtml .php
AddType application/x-httpd-php .php .inc .html .htm

Да и вообще ни строчки о php нет.

No Woman No Cry...

11 (04.07.2014 02:00:23 отредактировано iAlexandre)

может файл .htaccess и не работает вовсе?
Попробуйте в него добавить следующие строки. Если все ОК. то получите сообщение, об ошибке.

Похоже, не работает. Cоздал в /etc/httpd/conf.d/ файл myconf.conf с таким содержимым:

<VirtualHost *:80>
        DocumentRoot /var/www/html/
    <Directory /var/www/html/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog /var/www/html/error.log
</virtualhost>

Такой способ логирования пойдет?


Ну и заодно, создайте файл
info.php с содержимым:
<?php

phpinfo();

?>

Отобразилась вся информация по PHP.

PHP Version 5.3.3

System    Linux vps.com 2.6.32-042stab081.5 #1 SMP Mon Sep 30 16:52:24 MSK 2013 i686
Build Date    Dec 11 2013 03:16:27

Ну и т.д. Нужен какой-то конкретный пункт?


Я посмотрел, на своем тестовом.
В httpd.conf
Таких директив у меня нет, но php работат.
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php phtml .php
AddType application/x-httpd-php .php .inc .html .htm
Да и вообще ни строчки о php нет.

По дефолту у меня были только строчки
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl    .crl
Могу удалить лишнее, думал поможет решить проблему, а оказалось нет ab

12 (04.07.2014 02:07:47 отредактировано iAlexandre)

Можете привести код с main.php, где подключаются шаблоны с дерективами вроде <?php

Только такое:

<?
include('../tpl/hed.tpl');
include('../tpl/top.tpl');
include('../tpl/bot.tpl');
?>

Остальное - код который я давал выше

13

Вот вывод из /var/www/html/error.log

[Thu Jul 03 17:48:27 2014] [error] [client myip] File does not exist: /var/www/Main, referer: http://xx.xx.xx.xx/
[Thu Jul 03 17:48:30 2014] [error] [client myip] Directory index forbidden by Options directive: /var/www/
[Thu Jul 03 17:50:09 2014] [error] [client myip] Directory index forbidden by Options directive: /var/www/
[Thu Jul 03 17:50:50 2014] [error] [client myip] Directory index forbidden by Options directive: /var/www/
[Thu Jul 03 17:50:52 2014] [error] [client myip] Directory index forbidden by Options directive: /var/www/
[Thu Jul 03 17:50:53 2014] [error] [client myip] Directory index forbidden by Options directive: /var/www/
[Thu Jul 03 17:50:54 2014] [error] [client myip] Directory index forbidden by Options directive: /var/www/
[Thu Jul 03 17:51:49 2014] [error] [client myip] File does not exist: /var/www/html/style, referer: http://xx.xx.xx.xx/
[Thu Jul 03 17:51:52 2014] [error] [client myip] File does not exist: /var/www/html/style, referer: http://xx.xx.xx.xx/
[Thu Jul 03 17:52:09 2014] [error] [client myip] client denied by server configuration: /var/www/html/
[Thu Jul 03 17:52:10 2014] [error] [client myip] client denied by server configuration: /var/www/html/
[Thu Jul 03 17:52:13 2014] [error] [client myip] client denied by server configuration: /var/www/html/as
[Thu Jul 03 17:53:13 2014] [error] [client myip] client denied by server configuration: /var/www/html/
[Thu Jul 03 17:53:23 2014] [error] [client myip] File does not exist: /var/www/html/style, referer: http://xx.xx.xx.xx/
[Thu Jul 03 17:53:24 2014] [error] [client myip] File does not exist: /var/www/html/style, referer: http://xx.xx.xx.xx/
[Thu Jul 03 17:53:26 2014] [error] [client myip] File does not exist: /var/www/html/style, referer: http://xx.xx.xx.xx/
[Thu Jul 03 17:55:29 2014] [error] [client myip] PHP Warning:  phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EDT/-4.0/DST' instead in /var/www/html/inf.php on line 1

14 (04.07.2014 02:29:53 отредактировано Marley)

Попробуйте заменить <? на <?php в main.php

==================
По поводу .htaccess

В httpd.conf

Должна быть разкомментирована строка:
AccessFileName .htaccess

И вроде должна быть директива:
AllowOverride None

=================================

Короткие теги php.

Настройки делаются в файле php.ini

Классически начало php скрипта обозначается <?php, но можно для упрощения начинать скрипт просто <?, вот этот вариант и называется короткий тег.
По умолчанию обычно короткие теги отключены в php, но большая часть программистов используют короткие теги в своих скриптах, поэтому лучше включить короткие теги, чтобы не было проблем.

Для включения находим

short_open_tag = off

и меняем значение на on

Если short_open_tag не нашли, добавьте сами.

No Woman No Cry...

15 (04.07.2014 02:41:46 отредактировано iAlexandre)

Попробуйте заменить <? на <?php в main.php

Во.. Это помогло, спасибо!

По поводу .htaccess
В httpd.conf
Должна быть разкомментирована строка:
AccessFileName .htaccess
И вроде должна быть директива:
AllowOverride None

Там ничего не менял, но:
AccessFileName .htaccess - так и есть
AllowOverride None - аналогично

Короткие теги php.
Настройки делаются в файле php.ini

Сейчас попробую, спасибо!
Update: Да, в этом и была вся проблема. Огромное спасибо, пошел дальше ковырять и проверять все ли работает как нужно ab

16

iAlexandre пишет:
Marley пишет:

Попробуйте заменить <? на <?php

Во.. Это помогло, спасибо!

Супер! Казалось бы, причём тут Линукс?