Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Хотелось бы всё это поначалу нормально установить.
 
 автор: sn_petrovich   (05.08.2004 в 17:01)   письмо автору
 
 

Сразу отмечу, что мне никогда прежде не доводилось создавать динамические web-страницы и писать в xhtml-коде какие-либо скрипты , апплеты и.т.п. Всё дело в том, что этому сначала необходимо научиться. Для этого мною из интереса и желания была приобретена книга самоучителя php5. Но для успешной деятельности (да и вообще для любого деяния) необходимо это всё установить.С этого и начну. Первый вопрос такой: на 13 стр. на 13-12 строчке, считая снизу есть следущая информация: "Создайте новую переменную окружения с:\www и перезагрузите компьютер ". С моим бедным программным образованием это сделать пока невозможно. Ради бога помогите, расскажите как преодолеть 13 страницу вашей замечательной книжки.
Заранее благадарен. Владислав

   
 
 автор: cheops   (05.08.2004 в 22:02)   письмо автору
 
   для: sn_petrovich   (05.08.2004 в 17:01)
 

У меня под рукой сейчас только Windows XP. В нём переменная окружения созадётся следующим образом:
Пуск | Настойки | Панель управления | Система | Дополнительно | Переменные среды.
Чтобы прописать путь необходимо выбрать переменную Path в нижнем окне и нажать кнопку Edit, после чего через точку с запятой прописать новый путь. Изменения вступают в силу после перезагрузки системы.

На начальном этапе, если вы не планируете в ближайшем будующем использовать PHP в качестве интерпретатора системных комадной строки, вы можете не прописывать пути. Со спокойной душой устанавливайте apache и PHP - если что-то будет не получаться пишите сюда - обязательно поможем.

   
 
 автор: sn_petrovich   (05.08.2004 в 23:48)   письмо автору
 
   для: cheops   (05.08.2004 в 22:02)
 

Вот за это спасибо.\
...вы как в воду смотрите, только, понимаешь, я захотел установить apache и php, как у меня заработал apache и не заработал php...
На самом деле это шутки дикие, занимаясь весь день творческой настройкой выше упомянутого безобразия я так ни к чему и не пришёл...\
нужна помощь.\
-->в браузере мне не пишет ничего, т.е. не реагирует на команды.
-->в php Expert Editor пишет следущее: (cм. прикрепленное)
я все возможные настройки уже попытался совершить... :-|

   
 
 автор: cheops   (06.08.2004 в 00:10)   письмо автору
 
   для: sn_petrovich   (05.08.2004 в 23:48)
 

Рано или поздно всё обязательно заработает. Вы ставите PHP 5? В этом случае в конфигурационном файле Apache вместо php.exe следует писать php-cgi.exe (Изменения названий модулей произошло начиная с PHP 5 Release Candidate 2).
 AddType application/x-httpd-php phtml php 
<Directory "c:/php"> 
   Options ExecCGI 
</Directory> 
ScriptAlias "/php_dir/" "c:/php/" 
Action application/x-httpd-php "/php_dir/php-cgi.exe" 

Первая строка сообщает серверу Apache, о том, что файлы с расширениями php и phtml - должны интерпретироваться как PHP скрипты.
Следующие три строчки сообщают, что в директории c:/php следует разрешить исполнение CGI скриптов.
Предпоследняя строчка создаёт так называемы алиас (псевдоним для директории c:/php/)
В последней строке в качестве внешнего интерпретатора PHP назначается файл С:/php/php-cgi.exe (необходимо убедится имеется ли он по этому пути).

"Браузер не реагирует на комманды" - он пишет,
1) что данная страница не доступна
2) показывает чистую страницу
3) или код PHP-скрипта?

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=45

   
 
 автор: sn_petrovich   (06.08.2004 в 00:55)   письмо автору
 
   для: cheops   (06.08.2004 в 00:10)
 

Мда...\
Значит всё это дело я поменял, голову ещё часок поломал...
мда...\
Страница доступна, а вот на странице ничего...\
нужна ещё помощь.\
заранее благодарен.

   
 
 автор: cheops   (06.08.2004 в 11:18)   письмо автору
 
   для: sn_petrovich   (06.08.2004 в 00:55)
 

А что используется в качестве тестового скрипта? Обычно пустая страница отображается в том случае, если в скрипте есть ошибка, а директива display_errors в конфигурационном файле php.ini отключена, в этом случае её следует включить
<?php
display_errors 
On;
?>

Данная директива позволяет запретить или разрешить вывод об ошибках в окно браузера. Если вместо On стоит Off - при ошибке выводится пустое окно.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=162&page=1

   
 
 автор: sn_petrovich   (06.08.2004 в 01:29)   письмо автору
 
   для: cheops   (06.08.2004 в 00:10)
 

вроде ещё одна проблема:
.../у меня Localhost идентифицирует в папке c:/www/apache/htdocs, хотя я его везде поменял...во всяком случае как мне кажется (
/*это когда прописываю http://localhost/index.html, вылазит приветственное окно апача*/.

   
 
 автор: cheops   (06.08.2004 в 11:18)   письмо автору
 
   для: sn_petrovich   (06.08.2004 в 01:29)
 

Хм... обычно в этой папке располагается документация Apache (Если он установлен в С:/www/apache)...

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

   
 
 автор: sn_petrovich   (06.08.2004 в 12:31)   письмо автору
 
   для: cheops   (06.08.2004 в 11:18)
 

Да, наверное это было бы лучшим выходом из ситуации.\
в моем распоряжении: -->О.П. Win XP (рус)
(и след. дистр.)
-->apache_1.3.31-win32-x86-no_src.exe
-->php-5.0.0-Win32.zip\
Это всё установлено. Могу переустановить.
*ещё есть apache_2.0.50-win32-x86-no_ssl.msi. Эго я вытащил из сети первым, но где то прочитал, что совместно с php лучше использовать версию 1.3, т.к. это не новый апач, а лишь параллельная разработка.(соответственно поверил)...
С:\php --> это php
C:\www\apache --> Это apache
С:\www\www1 --> это вирт. хост (или localhost это я ещё не догнал)
*Всё как в книжке. Если с хостами я намутил, определите их на своё усмотрение, только мне скажите куда.
\\\ заранее благодарен за помощь в настройке.

   
 
 автор: cheops   (06.08.2004 в 12:39)   письмо автору
 
   для: sn_petrovich   (06.08.2004 в 12:31)
 

Слать на e-mail в портрете, да?

   
 
 автор: sn_petrovich   (06.08.2004 в 12:41)   письмо автору
 
   для: cheops   (06.08.2004 в 12:39)
 

Можно сюда (это, наверное, тот же адрес):
snipe_121086@mail.ru

   
 
 автор: cheops   (06.08.2004 в 13:34)   письмо автору
 
   для: sn_petrovich   (06.08.2004 в 12:41)
 

Отправил http.conf и php.ini по почте.

   
 
 автор: sn_petrovich   (06.08.2004 в 15:42)   письмо автору
 
   для: cheops   (06.08.2004 в 13:34)
 

Почту принял. Большое спасибо./
Далее сделал следущее: -->снёс php и apache с корнем...заодно и mysql (так за компанию).
-->поставил заново апач и php5 с заменой файлов, что вы мне так бескорыстно выслали...(php.ini заодно скопировал в D:\WINDOWS\)/
->Создаю файл test.php в катологе С:\www\www1
->В explorer'е пишу http://localhost/test.php и браузер мне пишет, что страница не найдена и что он с таким адресом не знаком...
(***бардак)
Нужна ещё помощь.../ заранее благодарен.

   
 
 автор: cheops   (06.08.2004 в 15:56)   письмо автору
 
   для: sn_petrovich   (06.08.2004 в 15:42)
 

после того как http.conf был скопирован в папку C:/www/Apache/conf - вы перегружали сервис Apache?

   
 
 автор: sn_petrovich   (06.08.2004 в 16:08)   письмо автору
 
   для: cheops   (06.08.2004 в 13:34)
 

Cтоп, перезагрузил машину всё заработало.
(... сейчас пойду головой об стенку побьюсь)
Он показывает в браузере только файлы с расширением .php. Это нормально?
Возможно ли с другой папки загружать скрипты или тольк о отсюда?
P.S.
\большое вам спасибо.
\вы меня оживили, я два дня уже сохну...и даже не столько над настройкой, сколько над её изучением.\
\памятник вам .

   
 
 автор: cheops   (06.08.2004 в 16:23)   письмо автору
 
   для: sn_petrovich   (06.08.2004 в 16:08)
 

>Cтоп, перезагрузил машину всё заработало.
Ага... можно просто перегружать Apache - изменения в конфигурацинном файле вступают в силу после перезагрузки сервера
>Он показывает в браузере только файлы с расширением .php.
>Это нормально?
Должен ещё html показывать...
Это задаётся директивами AddType - можете их порасскомментировать в http.conf (изменения вступают в силу после перезагрузки сервера).
>Возможно ли с другой папки загружать скрипты или тольк о
>отсюда?
Сейчас можно запускать скрипты из этой папки и всех подпапок, т.е. если вы создали файл C:/www/www1/forum/index.php, он будет доступен по адресу http://localhost/forum/index.php. Если вам не нравится что у вас файлы хранятся на диске C - можете их переместить в на другой диск, при этом в директивах виртуального хоста (в конце http.conf) небходимо прописать новый путь заместо С:/www/www1

<VirtualHost 127.0.0.1:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "C:/www/www1"
    ServerName localhost
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

или можно прописать второй виртуальный хост...

   
 
 автор: sn_petrovich   (06.08.2004 в 17:37)   письмо автору
 
   для: cheops   (06.08.2004 в 16:23)
 

...благодарность за инфо/
я думаю в процессе вопросы ещё появяться./

/*Ученье свет, а неученье чуть свет и на работу.*/
*Да, кстати, вот насчёт пораскомментировать это надо будет попотеть (я вытащил файл по вашей ссылке просто в нечитаемом виде (метр вправо, чуть меньше вниз ), хотя он и работает, и уже за это я его люблю)*

   
 
 автор: Кузнецов М.В.   (07.08.2004 в 17:11)   письмо автору
 
   для: sn_petrovich   (06.08.2004 в 16:08)
 

>Он показывает в браузере только файлы с расширением .php.
>Это нормально?
Посмотрите что написано в директиве DirectoryIndex файла httpd.conf. Должно быть примерно так:

DirectoryIndex index.html index.phtml index.php

Кроме того, возможно в файле mime.types в строке

text/html html htm shtml shtm php phtml

у вас отмечены только php-файлы. Тогда нужно привести эту строку к виду, показанному выше.

   
 
 автор: ПБ (Дмитрий)   (06.08.2004 в 17:26)   письмо автору
 
   для: cheops   (06.08.2004 в 00:10)
 

>Рано или поздно всё обязательно заработает. Вы ставите PHP
>5? В этом случае в конфигурационном файле Apache вместо
>php.exe следует писать php-cgi.exe (Изменения названий
>модулей произошло начиная с PHP 5 Release Candidate 2).

Млиять, вот так, из-за одного изменения - две бессонные ночи.
Правда, пока искал, где собака порылась, понял немного, как это работает.
Хорошо, что здесь столько отзывчивых людей!!!

   
 
 автор: ПБ (Дмитрий)   (06.08.2004 в 20:11)   письмо автору
 
   для: sn_petrovich   (05.08.2004 в 17:01)
 

Можно я тоже здесь свой вопрос задам, раз уж здесь тема для новичков образовалась.
Вот из книжки взял пример с формой, но у меня вместо текста в новой страничке с адресом
http://localhost/test1.php
открывается пустая страница с адресом:
http://localhost/test1.php?action=post&msg=xxxxxx
где ххххххх - это то, что я ввожу в форме. Где у меня ошибка?
Вот собственно код:

<?
$action=$HTTP_POST_VARS["action"];
if (empty($action))
{
?>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Тестинг</title>
<body style="font-family: Times New Roman; line-height: 4pt; color: #000080; word-spacing: 0; line-height: 150%; margin: 0" link="#000080" alink="#000080" bgcolor="#DEEFFF" vlink="#000080">

<br>
<div align="center">
<table border=0 bgcolor="#C8C4C0" width=1 id="table1">
<form action=test1.php method post>
<input type=hidden name=action value=post>
<tr>
<td colspan=2>
Сообщение:<br>
<textarea cols=50 rows=8 name=msg>
<?echo $msg;?>
</textarea>
</td>
</tr>
<tr><td colspan=2>
<input type=submit value='Добавить'>
</td></tr>
</form>
</tabl>

</div>
</body>
</html>
<?
}
?>

А это код в файле test1.php:

<?
$msg=substr($HTTP_POST_VARS["msg"],0,1024);
$msg=htmlspecialchars($msg);
print "<P>".$msg."</P>\n";
?>

   
 
 автор: cheops   (06.08.2004 в 20:26)   письмо автору
 
   для: ПБ (Дмитрий)   (06.08.2004 в 20:11)
 

Скорее всего у вас в php.ini отключена директива register_long_arrays, позволяющая использовать "длинные" суперглобальные массивы. Чтобы её включить исправьте php.ini:
register_long_arrays = On

Или используйте короткие суперглобальные массивы
$_POST вместо $HTTP_POST_VARS
$_GET вместо $HTTP_GET_VARS

PS Сервер Apache после этого следует пергрузить.
PPS Вы можете задавать здесь любые вопросы посвящённые PHP не дожидаясь подходящей темы :))), с удовольствием поможем.

   
 
 автор: ПБ (Дмитрий)   (07.08.2004 в 05:46)   письмо автору
 
   для: cheops   (06.08.2004 в 20:26)
 

Нет, директива включена.
Заменил имена массивов - всё по-старому.
У меня основной текст записан в один файл, а обработка - в файл test1.php
Оба файла лежат в одной папке.
Если не трудно, сбросте, плиз, файл php.ini на мыло. Я в нем исправил только то, что написано в книге, а там еще куча отключенных директив и недописанных адресов.
Апач у меня лежит в C:\server\Apache2
ПХП5 - C:\server\php5
исполняемые файлы - C:\server\www

Еще у меня нет некоторых файлоф *.dll, поэтому я закомментировал соответствующие им директивы, например:
;extension=php_iconv.dll

и не создавал переменную окружения C:\server\www
Это не может влиять?
Еще не устанавливал MySQL, но если я еще что-то соображаю, то он пока и не нужен.
Заранее спасибо.
P.S. Чуть не забыл. В книжке есть такая строчка: "скопируйте его (php.ini) в каталог с системными файлами Windows. " Это, простите, куда? И зачем?

   
 
 автор: ПБ (Дмитрий)   (07.08.2004 в 07:17)   письмо автору
 
   для: ПБ (Дмитрий)   (07.08.2004 в 05:46)
 

О!!!
Можно не отвечать по поводу примера.
Нашел на сайте этот пример, скопировал, и все заработало!!!
Сейчас поищу, где я ошибался.

Ну вот. Все очень просто, пропустил знак = перед post
<form action=test1.php method post>

Теперь и мой вариант заработал!!!

   
 
 автор: cheops   (07.08.2004 в 10:22)   письмо автору
 
   для: ПБ (Дмитрий)   (07.08.2004 в 05:46)
 

Фраза "скопируйте его (php.ini) в каталог с системными файлами Windows" означает что вы можете скопировать php.ini в директории C:/WINDOWS/ или C:/WINDOWS/system32. PHP будет искать её в одной из прописанных директорий. Создание переменной окружения C:\server\www для успешной работы PHP в теущей версии уже не требуется, особенно если вы не хотите хранить там php.ini.

Да, MySQL пока не нужна, но я всем очень советую её в дальнейшем использовать - это очень удобно, экономит массу сил и нервов.

PS php.ini на всякий случай выслал по почте.

   
 
 автор: ПБ (Дмитрий)   (07.08.2004 в 11:08)   письмо автору
 
   для: cheops   (07.08.2004 в 10:22)
 

Спасибо. Надеюсь до MySQL когда-нибудь доберусь. Не хочется забегать вперед.
А с той тестовой програмкой возникла новая проблема. Когда переменная $msg обрабатывается функцией htmlspecialchars, всё работает, а вот если ее закомментировать, то скрипт, приведенный в примере:
<Script Language="JavaScript">
   alert("Приветик!"); // функция вывода в JavaScript
</Script>

который вставляется в поле сообщения, не работает. Открывается пустая страничка.
Весь пример здесь:

http://www.softtime.ru/bookphp/gl3_2.php

   
 
 автор: Кузнецов М.В.   (07.08.2004 в 12:47)   письмо автору
 
   для: ПБ (Дмитрий)   (07.08.2004 в 11:08)
 

Взял пример прямо с Вашей ссылки, запустил ничего не изменяя - все работает... И в IE и в Opera. М.б. у Вас отключен JavaScript? В этом случае как раз будет открываться пустая страница.

   
 
 автор: ПБ (Дмитрий)   (07.08.2004 в 13:12)   письмо автору
 
   для: Кузнецов М.В.   (07.08.2004 в 12:47)
 

Да нет. JavaScript включен. Я на своем сайте его часто использую. Может где в настройках Апач или ПХП отключен?

Да, и в примере должна появлятся вот такая строка:
<Script Language="JavaScript">alert("Приветик!");</Script>
А у меня появляется вот такая:
<Script Language=\"JavaScript\"> alert(\"Приветик!\"); // функция вывода в JavaScript </Script>

   
 
 автор: glsv (Дизайнер)   (07.08.2004 в 13:23)   письмо автору
 
   для: ПБ (Дмитрий)   (07.08.2004 в 13:12)
 

>Да нет. JavaScript включен. Я на своем сайте его часто использую. Может где в настройках Апач или ПХП отключен?

Отключить JavaScript можно только на клиенсткой машине. Апач и ПХП работают на сервере, ничего про JavaScript не знают и потому отключить их там нельзя.

   
 
 автор: cheops   (07.08.2004 в 13:32)   письмо автору
 
   для: ПБ (Дмитрий)   (07.08.2004 в 13:12)
 

Хм... а не могли бы вы привести полную страницу... такое ощущение что код прогоняется через функцию addslashes() в этом случае может помочь функция stripslashes(), убирающая лишнее экранирование... или где-то некорректное использование кавычек...

http://www.softtime.ru/dic/id_dic=65&id_group=

   
 
 автор: Кузнецов М.В.   (07.08.2004 в 13:38)   письмо автору
 
   для: ПБ (Дмитрий)   (07.08.2004 в 13:12)
 

Возможно, что включен режим экранирования спецсимволов (одинарной кавычки, двойной кавычки, обратного слеша и завершающего нуля) для GET, POST и COOKIE данных. Посмотрите в файле php.ini какое значение у директивы magic_quotes_gpc. Эта директива как раз и устанавливает (или отключает) режим экранирования. Для того, чтобы работало, должно быть Off.

   
 
 автор: ПБ (Дмитрий)   (07.08.2004 в 14:24)   письмо автору
 
   для: Кузнецов М.В.   (07.08.2004 в 13:38)
 

Спасибо!!!
Именно из-за этого не работало. Теперь все работает точно так, как в примере.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования