PDA

Просмотр полной версии : Не работает PHP на виндовсе


_nic
08.12.2008, 22:47
Нужно потестить кое какие скрипты.Установил 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();
?>

Sn@k3
08.12.2008, 23:44
Установи Denwer =)) он имеет ввиду и с помощью него ты сможешь запускать пхп скрипты

_nic
09.12.2008, 00:16
О точно :)
Теперь ещё одна проблема не работают в скриптах ф-ции fopen,fwrite.То есть ошибок некаких не выдает но в файл тоже ниче не пишет :(

Pashkela
09.12.2008, 00:22
В начало скрипта впихни

@ini_set("display_errors","1");

и проверь в php.ini

display_errors=on

и вообще код в студию

_nic
09.12.2008, 00:26
Ниче нового невыводится :(

astrologer
09.12.2008, 00:26
О точно :)
Теперь ещё одна проблема не работают в скриптах ф-ции fopen,fwrite.То есть ошибок некаких не выдает но в файл тоже ниче не пишет :(
Да-да, if'ы глючат, for'ы не работают? Очень известный баг.

Если покажешь, как используешь эти функции, будет больше шансов найти ошибку.
Иначе говоря, нужен минимальный нерабочий код © Точка

_nic
09.12.2008, 00:30
Да-да, 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 для массивов, содержащих непроверенные данные.

_nic
09.12.2008, 01:01
Это как раз работающий код. Разумеется, если никаких параметров не передавать, ничего записываться не будет.
Кстати, настоятельно рекомендуется не использовать функцию extract для массивов, содержащих непроверенные данные.
Я вот так параметр для теста пытаюсь передать
http://localhost/test.php?dat0=lalalalalalalla
Да только вот в итоге никаких файлов не создается,да и если создать файл то туда всеравно ниче не пишется :(

nerezus
09.12.2008, 01:51
extract($_GET); Запомни: так поступают распиздяи! Фу так делать)))

Isis
09.12.2008, 01:54
$_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
Да только вот в итоге никаких файлов не создается,да и если создать файл то туда всеравно ниче не пишется Остальные параметры тоже нужно задавать, они же в коде все проверяются на наличие и потом используются.

[dei]
09.12.2008, 02:39
здесь:

$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|\r\n";

а надо так:

$dannie = $dat0."|".$dat1."|".$dat2."|".$dat3."|".$dat4."|" . "\r\n";

Гениально =\

gisTy
09.12.2008, 04:34
плюс здесь:
$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

Oozy
09.12.2008, 04:42
ЫЫыыы=)

Chaak
09.12.2008, 10:57
DNA ERROR DETECTED -> DESTROY!

nerezus
09.12.2008, 12:27
Запомни: так поступают распиздяи! Фу так делать))) Хватит эту ошибку уже в коде таскать. Тебе помогают. Так что же ты нен слушаешь помощь?

_nic
09.12.2008, 14:09
Обьясните просто ,почему не создается файл???

astrologer
09.12.2008, 14:38
режим открытия a+ должен быть
=/
Он ничего не читает из файла.

Обьясните просто ,почему не создается файл??? Потому, что ты, очевидно, совершенно не знаешь язык. Всё, что находится в блоке if - не выполняется, если функция isset вернула false. Так и происходит в твоём случае.

astrologer
09.12.2008, 14:53
'a' Открывает файл только для записи; помещает указатель в конец файла. Если файл не существует - пытается его создать. Вот.