Просмотр полной версии : Не работает PHP на виндовсе
Нужно потестить кое какие скрипты.Установил Small HTTP сервер и PHP 5.2.7.Указал в настройках сервера где пхп находится .Только вот оно нефига неработает :( При запуске скрипта на сервере вообще пустое окно.А если набирать в консоли то
C:\Program Files\PHP>php c:\shttps\www\info.php
<php?
phpinfo();
?>
Что можно сделать?
Pashkela
08.12.2008, 23:01
http://www.denwer.ru/
astrologer
08.12.2008, 23:41
Денвер тут не при чём.
<php?
phpinfo();
?>=><?php
phpinfo();
?>
Установи Denwer =)) он имеет ввиду и с помощью него ты сможешь запускать пхп скрипты
О точно :)
Теперь ещё одна проблема не работают в скриптах ф-ции fopen,fwrite.То есть ошибок некаких не выдает но в файл тоже ниче не пишет :(
Pashkela
09.12.2008, 00:22
В начало скрипта впихни
@ini_set("display_errors","1");
и проверь в php.ini
display_errors=on
и вообще код в студию
Ниче нового невыводится :(
astrologer
09.12.2008, 00:26
О точно :)
Теперь ещё одна проблема не работают в скриптах ф-ции fopen,fwrite.То есть ошибок некаких не выдает но в файл тоже ниче не пишет :(
Да-да, if'ы глючат, for'ы не работают? Очень известный баг.
Если покажешь, как используешь эти функции, будет больше шансов найти ошибку.
Иначе говоря, нужен минимальный нерабочий код © Точка
Да-да, if'ы глючат, for'ы не работают? Очень известный баг.
Если покажешь, как используешь эти функции, будет больше шансов найти ошибку.
Иначе говоря, нужен минимальный нерабочий код © Точка
<?php
if (isset($_GET['dat0'], $_GET['dat1'], $_GET['dat2'], $_GET['dat3'], $_GET['dat4'])) {
extract($_GET);
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";
$f = fopen("dannie.txt", "a");
fwrite($f, $dannie);
fclose($f);
exit();
}
?>
ЗЫ:в пхп ини "safe_mode = Off"
Pashkela
09.12.2008, 00:41
$_GET['dat0'] тут просто dat0
а тут: $dat0 - почуствуй разницу
плюс почитай: http://ru2.php.net/extract
плюс здесь:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";
а надо так:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|" . "\r\n";
astrologer
09.12.2008, 00:41
<?php
if (isset($_GET['dat0'], $_GET['dat1'], $_GET['dat2'], $_GET['dat3'], $_GET['dat4'])) {
extract($_GET);
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";
$f = fopen("dannie.txt", "a");
fwrite($f, $dannie);
fclose($f);
exit();
}
?>
Это как раз работающий код. Разумеется, если никаких параметров не передавать, ничего записываться не будет.
Кстати, настоятельно рекомендуется не использовать функцию extract для массивов, содержащих непроверенные данные.
Это как раз работающий код. Разумеется, если никаких параметров не передавать, ничего записываться не будет.
Кстати, настоятельно рекомендуется не использовать функцию extract для массивов, содержащих непроверенные данные.
Я вот так параметр для теста пытаюсь передать
http://localhost/test.php?dat0=lalalalalalalla
Да только вот в итоге никаких файлов не создается,да и если создать файл то туда всеравно ниче не пишется :(
extract($_GET); Запомни: так поступают распиздяи! Фу так делать)))
$_GET['dat0'] тут просто dat0
а тут: $dat0 - почуствуй разницу
плюс почитай: http://ru2.php.net/extract
плюс здесь:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";
а надо так:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|" . "\r\n";
А можно узнать почему такой вывод?
Pashkela
09.12.2008, 02:01
Нет, я стесняюсь:) И вообще, надо весь код выкладывать, а не кусочек:)
astrologer
09.12.2008, 02:12
Я вот так параметр для теста пытаюсь передать
http://localhost/test.php?dat0=lalalalalalalla
Да только вот в итоге никаких файлов не создается,да и если создать файл то туда всеравно ниче не пишется Остальные параметры тоже нужно задавать, они же в коде все проверяются на наличие и потом используются.
здесь:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";
а надо так:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|" . "\r\n";
Гениально =\
плюс здесь:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";
а надо так:
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|" . "\r\n";
собсно вопрос... а в чем собственно разница?
<?php
if (isset($_GET['dat0']) || isset($_GET['dat1']) || isset($_GET['dat2']) || isset($_GET['dat3']) || isset($_GET['dat4'])) {
extract($_GET);
$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";
$f = fopen("dannie.txt", "a");
fwrite($f, $dannie);
fclose($f);
exit();
}
?>так я думаю будет писать в файл при условии, что http://localhost/test.php?dat0=lalalalalalalla
DNA ERROR DETECTED -> DESTROY!
Запомни: так поступают распиздяи! Фу так делать))) Хватит эту ошибку уже в коде таскать. Тебе помогают. Так что же ты нен слушаешь помощь?
Обьясните просто ,почему не создается файл???
astrologer
09.12.2008, 14:38
режим открытия a+ должен быть
=/
Он ничего не читает из файла.
Обьясните просто ,почему не создается файл??? Потому, что ты, очевидно, совершенно не знаешь язык. Всё, что находится в блоке if - не выполняется, если функция isset вернула false. Так и происходит в твоём случае.
astrologer
09.12.2008, 14:53
'a' Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. Вот.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot