Проблема с “open_basedir restriction in effect.”

modulator

Новичок
Проблема с “open_basedir restriction in effect.”

Всем Привет!

Постоянно получаю ошибку:

PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/ localhost.ru /public_schet/schet.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0

PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0

Причем в “open_basedir” чётко указано:
PHP_Admin_Value open_basedir "/Home/localhost.ru/;/Home/.includes/"
а в
PHP_Admin_Value include_path "/Home/localhost.ru/.includes/;/Home/.includes/"

Почему PHP вдруг начинает путать значения этих параметров, происходит очень часто и со временем Apache вылетает?

Вот настройки одного из хостов в файле: httpd-vhosts.conf

127.0.0.1:80 и localhost.ru - заменены для этого форума, на самом деле там реальный ip и url!

<VirtualHost 127.0.0.1:80>
ServerName schet.localhost.ru
ServerAlias www.schet.localhost.ru
ServerAdmin [email protected]
DocumentRoot /Home/localhost.ru/public_schet/
ErrorLog /Home/localhost.ru/logs/schet.localhost.ru_Error.log
CustomLog /Home/localhost.ru/logs/schet.localhost.ru_Access.log common
PHP_Admin_Value error_log "/Home/localhost.ru/logs/PHP_schet_Errors.log"
PHP_Admin_Value open_basedir "/Home/localhost.ru/;/Home/.includes/"
PHP_Admin_Value include_path "/Home/localhost.ru/.includes/;/Home/.includes/"
PHP_Admin_Value doc_root "/Home/localhost.ru/"
PHP_Admin_Value upload_tmp_dir "/Home/localhost.ru/temp/"
PHP_Admin_Value session.save_path "/Home/localhost.ru/temp/"
</VirtualHost>

Где чётко прописаны: “PHP_Admin_Value open_basedir” и ”PHP_Admin_Value include_path” для данного хоста.

:confused: Почему вдруг при некоторых вызовах файла “schet.php” расположенного: ”/Home/localhost.ru/public_schet/schet.php” что не противоречит: (PHP_Admin_Value open_basedir "/Home/localhost.ru/;/Home/.includes/") выдается ошибка:

PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/schet.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0

Где “open_basedir” вдруг начинает брать данные из “PHP_Admin_Value include_path” ???!!!

Такая же история творится и с другими хостами.
Кто сталкивался с таким или знает, что конкретно делать просьба помогите…
 

modulator

Новичок
На самом деле этих пробелов нет, это добавил форум, когда я составлял сообщение.
 

dimagolov

Новичок
это добавил форум, когда я составлял сообщение.
а почему только в одном месте, где собственно предполагается реальная ошибка в пути к файлу, которая и должна была дать Warning?
 

modulator

Новичок
Да пробелов там нет. Вот еще за несколько часов набралось таких же ошибок:
[28-Jul-2009 14:25:23] PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/schet.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0
[28-Jul-2009 14:25:23] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[28-Jul-2009 14:25:23] PHP Fatal error: Unknown: Failed opening required '/Home/localhost.ru/public_schet/schet.php' (include_path='/Home/.includes/') in Unknown on line 0

[28-Jul-2009 16:54:31] PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/rg.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0
[28-Jul-2009 16:54:31] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[28-Jul-2009 16:54:31] PHP Fatal error: Unknown: Failed opening required '/Home/localhost.ru/public_schet/rg.php' (include_path='/Home/.includes/') in Unknown on line 0

[28-Jul-2009 21:39:20] PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/rg.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0
[28-Jul-2009 21:39:20] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[28-Jul-2009 21:39:20] PHP Fatal error: Unknown: Failed opening required '/Home/localhost.ru/public_schet/rg.php' (include_path='/Home/.includes/') in Unknown on line 0

[28-июл-2009 21:44:45] PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/schet.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0
[28-июл-2009 21:44:45] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[28-июл-2009 21:44:45] PHP Fatal error: Unknown: Failed opening required '/Home/localhost.ru/public_schet/schet.php' (include_path='/Home/.includes/') in Unknown on line 0

[28-июл-2009 21:50:12] PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/rg.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0
[28-июл-2009 21:50:12] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[28-июл-2009 21:50:12] PHP Fatal error: Unknown: Failed opening required '/Home/localhost.ru/public_schet/rg.php' (include_path='/Home/.includes/') in Unknown on line 0
 

Фанат

oncle terrible
Команда форума
гм. ну логично.
/Home/localhost.ru/public_schet/ не входит в
/Home/localhost.ru/.includes/
 

modulator

Новичок
Вот почему PHP вдруг начинает менять местами значения и параметры
"PHP_Admin_Value open_basedir" и "PHP_Admin_Value include_path" ??!!

-~{}~ 28.07.09 23:33:

Еще раз пишу:
PHP_Admin_Value open_basedir "/Home/localhost.ru/;/Home/.includes/" - это входит в (/Home/localhost.ru/public_schet/schet.php)

Почему выдаёт ошибку:

PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/schet.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0

и ставит: (/Home/localhost.ru/.includes/;/Home/.includes/) - значение "PHP_Admin_Value include_path" ?!!
 

modulator

Новичок
А главное это непостоянная фишка, а скажем 1 на 50 обращений к файлу schet.php
Большинство обращений работают нормально и PHP ничего не путает.
Не могу понять закономерность такого глюка.
 

modulator

Новичок
Автор оригинала: *****
отлаживай, чтобы понять
Я тут не знаю, что отлаживать и бьюсь над этим уже почти полога, раньше такого не было и вот из-за чего началось, не помню.

Вот настройки одного из хостов в файле: httpd-vhosts.conf

127.0.0.1:80 и localhost.ru - заменены для этого форума, на самом деле там реальный ip и url!

<VirtualHost 127.0.0.1:80>
ServerName schet.localhost.ru
ServerAlias www.schet.localhost.ru
ServerAdmin [email protected]
DocumentRoot /Home/localhost.ru/public_schet/
ErrorLog /Home/localhost.ru/logs/schet.localhost.ru_Error.log
CustomLog /Home/localhost.ru/logs/schet.localhost.ru_Access.log common
PHP_Admin_Value error_log "/Home/localhost.ru/logs/PHP_schet_Errors.log"
PHP_Admin_Value open_basedir "/Home/localhost.ru/;/Home/.includes/"
PHP_Admin_Value include_path "/Home/localhost.ru/.includes/;/Home/.includes/"
PHP_Admin_Value doc_root "/Home/localhost.ru/"
PHP_Admin_Value upload_tmp_dir "/Home/localhost.ru/temp/"
PHP_Admin_Value session.save_path "/Home/localhost.ru/temp/"
</VirtualHost>

Где чётко прописаны: “PHP_Admin_Value open_basedir” и ”PHP_Admin_Value include_path” для данного хоста.

:confused: Почему вдруг при некоторых вызовах файла “schet.php” расположенного: ”/Home/localhost.ru/public_schet/schet.php” что не противоречит: (PHP_Admin_Value open_basedir "/Home/localhost.ru/;/Home/.includes/") выдается ошибка:

PHP Warning: Unknown: open_basedir restriction in effect. File(/Home/localhost.ru/public_schet/schet.php) is not within the allowed path(s): (/Home/localhost.ru/.includes/;/Home/.includes/) in Unknown on line 0

Где “open_basedir” вдруг начинает брать данные из “PHP_Admin_Value include_path” ???!!!

Такая же история творится и с другими хостами.
Кто сталкивался с таким или знает, что конкретно делать просьба помогите…
 

Фанат

oncle terrible
Команда форума
а остальные директивы в этот момент продолжают работать?

-~{}~ 29.07.09 13:50:

Кто сталкивался с таким или знает, что конкретно делать просьба помогите…
Думать надо. Головным мозгом.
Благодаря этому действию мы сейчас живем в тепле, ходим в теплый сортир и утыкаем наши носы в монитор.

А если бы люди делали всегда только то, с чем уже сталкивались, то ты бы сейчас сидел в пещере, глодал тухлые кости.
 

modulator

Новичок
Автор оригинала: *****
а остальные директивы в этот момент продолжают работать?
Все остальное работает нормально глючат только open_basedir и include_path.

Да, для информации сервер работает под Windows, Apache 2.2.11 (http://www.sai.msu.su/apache/httpd/binaries/win32/apache_2.2.11-win32-x86-openssl-0.9.8i.msi),
PHP 5.2.6, MySQL 5.0.83. C PHP 5.2.10 то же самое, 5.3.0 еще хуже.

Вот заметил, что вышел новый Apache 2.2.12 - сейчас пошел менять...
 

dimagolov

Новичок
по-моему глюк в том, что virtual host не всегда отрабатывает. ссответственно когда этого не происходит, берутся параметры из php.ini. и происходит это тогода, когда к сайту идет обращение не на 127.0.0.1, а на скажем 192.168.254.1 (или что там на интерфейсе, который в локалку/инет смотрит)
 

Активист

Активист
Команда форума
А бы грешил на сухошин патч :) он у меня всегда странно себя вел.

А причем здесь Line 0 ? Вообще, это сам интерпретатор тебе не дает. Кстати, а разве можно использовать PHP_Admin_value ? я всегда думал, что в Apache параметры регистрозависимые.

ЗЫ. У нас верстальщик, постоянно психует....
- АААА.. Че за х..., меняю. не меняется, посмотри....
- А ты в титл окна посмотри, какой ты проект правишь...
Не тали у тебя проблема?
 

modulator

Новичок
Автор оригинала: dimagolov
по-моему глюк в том, что virtual host не всегда отрабатывает. соответственно когда этого не происходит, берутся параметры из php.ini. и происходит это тогода, когда к сайту идет обращение не на 127.0.0.1, а на скажем 192.168.254.1 (или что там на интерфейсе, который в локалку/инет смотрит)
В php.ini на данный момент:
include_path = "/Home/.includes/"
open_basedir = no value
С ними я уже всё перепробовал.

Из Интернета ничто не может заставить обратиться через 127.0.0.1 - у меня там всё заблокировано.
Аналогичная ситуация 192.168.*.* - сервер скрыт наглухо для локальной сети.

Там только реальный сайт и реальный ip.
И если считать что virtual host не всегда отрабатывает, то при этих настройках php.ini ошибка должна выглядеть по-другому.

А тут реальна, путается open_basedir и include_path именно из virtual host.

-~{}~ 29.07.09 19:38:

Автор оригинала: Активист
А бы грешил на сухошин патч :) он у меня всегда странно себя вел.

А причем здесь Line 0 ? Вообще, это сам интерпретатор тебе не дает. Кстати, а разве можно использовать PHP_Admin_value ? я всегда думал, что в Apache параметры регистрозависимые.

ЗЫ. У нас верстальщик, постоянно психует....
- АААА.. Че за х..., меняю. не меняется, посмотри....
- А ты в титл окна посмотри, какой ты проект правишь...
Не тали у тебя проблема?
PHP_Admin_value - не регистрозависимые, проверено.
Правлю я свой собственный проект на своём-же серваке.
 

dimagolov

Новичок
modulator, когда я писал про адреса я как раз имел в виду, что к локальному apache с той же машине можно обратиться и как к 127.0.0.1, и как к 192.168.254.1, для apache это будет обращение к разным виртуальным серверам.

ты проверил, у тебя сухосин стоит или нет?
 

dimagolov

Новичок
modulator, суслика видишь? нет? а он ЕСТЬ!

надо не думать, а проверять. вперед в гугл и в phpinfo.
 

modulator

Новичок
dimagolov, Сухосин или Suhosin может, как то еще пишется, не знаю т.к. с ним не знаком.
В phpinfo ни одного, ни другого слова найти не мог.

И что это за штука такая?
 
Сверху