Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Непонятная ошибка (http://forum.oszone.net/showthread.php?t=31331)

Guest 16-02-2004 06:58 214705

Раньше работало нормально, а теперь (кажется в результате обновлений на стороне хостера) выдает ошибки:

Warning: main() [function.main]: open_basedir restriction in effect. File(/usr/local/lib/php/new1.php) is not within the allowed path(s): (/www/vhosts/mydomain.ru/) in /www/vhosts/mydomain.ru/html/subdomain/modules/News/index.php on line 15

Warning: main(new1.php) [function.main]: failed to create stream: Operation not permitted in /www/vhosts/mydomain.ru/html/subdomain/modules/News/index.php on line 15

Warning: main() [function.main]: Failed opening 'new1.php' for inclusion (include_path='.:/usr/local/lib/php') in /www/vhosts/mydomain.ru/html/subdomain/modules/News/index.php on line 15

Версия PHPNuke 6.7
Почему так стало?

Prisoner 16-02-2004 12:16 214706

А кусочек кода этого файлика index.php около 15ой строки можно?

PS пользуйтесь тегом code.

Guest 16-02-2004 13:35 214707

На этой 15-ой строчке вот что

include("new1.php");

Если я ее комментирую, и просто вставляю все содержимое файла "new1.php", то все работает.

Другие файлы, такие как mainfile.php, header.php без проблем включаются командой include, что понятно, т.к. они лежат в одном каталоге с index.php и modules.php. Но что делать с остальными?

Может это из-за некорректных путей на хосте?

Добавлено:

Сорри, опять забыл про тег code.

Prisoner 16-02-2004 23:24 214708

Есть в php такая штука как Safe Mode - режим когда интерпретатор при некоторых операциях сравнивает владельца скрипта с владельцем файла над которым проводится операция каким-либо участком вашего кода. Именно поэтому проблема решается вставкой кода new1.php в тело своего скрипта. Проблему можно решить либо просьбой отключить Safe Mode (ибо имхо *такое* не этими средствами делается), либо вставкой в свой код "вражеского" :), либо сменой владельца "вражеских" файлов (если оно возможно).

Ginger 18-02-2004 22:34 214709

Guest
Цитата:

Другие файлы, такие как mainfile.php, header.php без проблем включаются командой include, что понятно, т.к. они лежат в одном каталоге с index.php и modules.php. Но что делать с остальными?

Может это из-за некорректных путей на хосте?
абсолютный путь документа на сайте не пробовали прописывать в include() ?

mar 19-02-2004 01:27 214710

Код:

/usr/local/lib/php/
- похоже, включаемый путь признается вот такой. Ихмо такая кракозябра может быть при PHP не модпхп-ом, а в cgi-ном варианте с жестко прописанным директорием для включения. Проверить можно, запустив файлик со строчкой
Код:

echo phpinfo();
.
Guest
а как ты указываешь каталог для включения? покажи код плз
а то я на днях тоже мучилась с хостером (http://www.forum.oszone.net/topic.cg...&topic=783)


[s]Исправлено: mar, 1:30 19-02-2004[/s]


Время: 05:32.

Время: 05:32.
© OSzone.net 2001-