chmod и отработка PHP в созданых файлах

$lider

Бывает
chmod и отработка PHP в созданых файлах

PHP:
$telo="<?ninclude anty_spam.php;n?>Просто HTML"; 
$file="rewrite.php"; 
$open=fopen($file, "w+"); 
chmod($file, 0755); 
fwrite($open,$telo); 
fclose($open);
После выполнения получаю файл с атрибутами 755 и содержимым
PHP:
<?
include anty_spam.php;
?>Просто HTML
При попытке доступа, php не отрабатывается в файле, хотя с остальным все нормально.
Это просто пример, у меня на сервере создаются большие файлы html с php вставками. Так вот php напрочь не отробатывается :(
Что я не предусмотрел?
 

ybilevych

Новичок
tony2001
не знаю что такое <?n n?>, но это работать не будет.
Возможно, обратный слэш не отобразился...

$lider
Попробуй так:
PHP:
$telo="<?php include 'anty_spam.php';?>Просто HTML";  
$file="rewrite.php";  
$open=fopen($file, "w+");  
fwrite($open,$telo);  
fclose($open);
chmod($file, 0755);
 

$lider

Бывает
Автор оригинала: tony2001
не знаю что такое <?n n?>, но это работать не будет.
Ну ошибочка :)
Перенос строк... /n
include ("anty_spam.php");

-~{}~ 19.04.06 16:23:

to ybilevych
Попробовал...
Все дело в том, что разрешения на файл устанавливаюся!
Но вот php не отрабатывает...
Може нужно рыть в сторону chown()???
 

ybilevych

Новичок
$lider
А остальное инклюдит?
Попробуй сам создать этот файл и выполнить.
И имя файла, который инклюдишь, возьми в кавычки.
 

$lider

Бывает
ybilevych
Файл, созданый "вручную" работает без вопросов.

-~{}~ 19.04.06 18:22:

Более того, файл исполняется, выдается браузеру.
Но вот именно PHP не работает %(
 

$lider

Бывает
Что интересно, даже если в коде php есть ошибки, даже не реагирует...
Просто напрочь игнорирует php :(
 

Kelor

Новичок
сравни этот файл с созданным в ручную и работающим... посимвольно...
 

$lider

Бывает
Kelor
Сравнил, файлы одинаковые!
Такое впечатление что у юзеров нет прав на исполнение...
 

Фанат

oncle terrible
Команда форума
у юзеров никогда не бывает прав на исполнение.
скрипты запускает веб-сервер. а не юзер
 

$lider

Бывает
Фанат
Факт в том, что php не выполняется в файле созданом скриптом.
В файле созданом на локале и перекинутом на хост все нормально...
 

Фанат

oncle terrible
Команда форума
я в курсе.
но твоё предположение про юзеров - ошибочно.

в принципе, решение-то проблемы простое.
ты что-то не то в файлы пишешь.
но я даже не стал ничего отвечать, поскольку спорить с твоей уверенностью в том, что проблема в правах - нет никакого желания =)
 

$lider

Бывает
Фанат
Да, дело не в правах...
PHP:
$telo="<?php phpinfo(32);?>Просто HTML";
Странно, а это отрабатывается...
Почему другое нет?
И главное ошибок нет...

p.s. для информации
-rwxr-xr-x rewrite.php
 

Фанат

oncle terrible
Команда форума
чума =)

-~{}~ 20.04.06 11:31:

не пробовал вывод сообщений об ошибках ВКЛЮЧИТЬ? =)
 

$lider

Бывает
Фанат
Бывает...
error_reporting (E_ALL) выдал
Warning: main(): SAFE MODE Restriction in effect. The script whose uid is 101 is not allowed to access ./anty_spam.php owned by uid 567

Warning: main(anty_spam.php): failed to open stream: No such file or directory

Warning: main(): SAFE MODE Restriction in effect. The script whose uid is 101 is not allowed to access ./anty_spam.php owned by uid 567

Warning: main(anty_spam.php): failed to open stream: No such file or directory

Warning: main(): Failed opening 'anty_spam.php' for inclusion (include_path='.:/usr/local/lib/php')

Внимание вопрос:
открываю созданый файл, копирую все, создаю локально, вставляю, заливаю, ВСЕ РАБОТАЕТ!
 

ybilevych

Новичок
Внимание вопрос:
открываю созданый файл, копирую все, создаю локально, вставляю, заливаю, ВСЕ РАБОТАЕТ!
А вопроса-то нет ;-)

Тебе error_reporting (E_ALL) сказал:
Warning: main(): SAFE MODE Restriction in effect...
Поройся в доке на предмет SAFE MODE
 

McSimm

Новичок
Когда вы создаете файл "вручную", владелец один.
Когда его создает скрипт - другой.

The script whose uid is 101 is not allowed to access ./anty_spam.php owned by uid 567
Скрипт имеющий одного владельца не может подключить (include) скрипт другого владельца
Сменить владельца файла программно вы наверняка не сможете
 

$lider

Бывает
Хорошо, а как это
chown(): Unable to find uid for 567
связать с этим
The script whose uid is 101 is not allowed to access ./anty_spam.php owned by uid 567
 
Сверху