|
|
|
| Сразу отмечу, что мне никогда прежде не доводилось создавать динамические web-страницы и писать в xhtml-коде какие-либо скрипты , апплеты и.т.п. Всё дело в том, что этому сначала необходимо научиться. Для этого мною из интереса и желания была приобретена книга самоучителя php5. Но для успешной деятельности (да и вообще для любого деяния) необходимо это всё установить.С этого и начну. Первый вопрос такой: на 13 стр. на 13-12 строчке, считая снизу есть следущая информация: "Создайте новую переменную окружения с:\www и перезагрузите компьютер ". С моим бедным программным образованием это сделать пока невозможно. Ради бога помогите, расскажите как преодолеть 13 страницу вашей замечательной книжки.
Заранее благадарен. Владислав | |
|
|
|
|
|
|
|
для: sn_petrovich
(05.08.2004 в 17:01)
| | У меня под рукой сейчас только Windows XP. В нём переменная окружения созадётся следующим образом:
Пуск | Настойки | Панель управления | Система | Дополнительно | Переменные среды.
Чтобы прописать путь необходимо выбрать переменную Path в нижнем окне и нажать кнопку Edit, после чего через точку с запятой прописать новый путь. Изменения вступают в силу после перезагрузки системы.
На начальном этапе, если вы не планируете в ближайшем будующем использовать PHP в качестве интерпретатора системных комадной строки, вы можете не прописывать пути. Со спокойной душой устанавливайте apache и PHP - если что-то будет не получаться пишите сюда - обязательно поможем. | |
|
|
|
|
|
|
|
для: cheops
(05.08.2004 в 22:02)
| | Вот за это спасибо.\
...вы как в воду смотрите, только, понимаешь, я захотел установить apache и php, как у меня заработал apache и не заработал php...
На самом деле это шутки дикие, занимаясь весь день творческой настройкой выше упомянутого безобразия я так ни к чему и не пришёл...\
нужна помощь.\
-->в браузере мне не пишет ничего, т.е. не реагирует на команды.
-->в php Expert Editor пишет следущее: (cм. прикрепленное)
я все возможные настройки уже попытался совершить... :-| | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 00:10)
| | Мда...\
Значит всё это дело я поменял, голову ещё часок поломал...
мда...\
Страница доступна, а вот на странице ничего...\
нужна ещё помощь.\
заранее благодарен. | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 00:10)
| | вроде ещё одна проблема:
.../у меня Localhost идентифицирует в папке c:/www/apache/htdocs, хотя я его везде поменял...во всяком случае как мне кажется (
/*это когда прописываю http://localhost/index.html, вылазит приветственное окно апача*/. | |
|
|
|
|
|
|
|
для: sn_petrovich
(06.08.2004 в 01:29)
| | Хм... обычно в этой папке располагается документация Apache (Если он установлен в С:/www/apache)...
В конце концов вы можете сообщить номера версиий и пути
к PHP, Apache, путь по которому вы хотите чтобы располагался виртуальный хост - я промоделирую ситуацию и вышлю настроенные под вашу машину конфигурационные файлы. | |
|
|
|
|
|
|
|
для: 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 это я ещё не догнал)
*Всё как в книжке. Если с хостами я намутил, определите их на своё усмотрение, только мне скажите куда.
\\\ заранее благодарен за помощь в настройке. | |
|
|
|
|
|
|
|
для: sn_petrovich
(06.08.2004 в 12:31)
| | Слать на e-mail в портрете, да? | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 12:39)
| | Можно сюда (это, наверное, тот же адрес):
snipe_121086@mail.ru | |
|
|
|
|
|
|
|
для: sn_petrovich
(06.08.2004 в 12:41)
| | Отправил http.conf и php.ini по почте. | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 13:34)
| | Почту принял. Большое спасибо./
Далее сделал следущее: -->снёс php и apache с корнем...заодно и mysql (так за компанию).
-->поставил заново апач и php5 с заменой файлов, что вы мне так бескорыстно выслали...(php.ini заодно скопировал в D:\WINDOWS\)/
->Создаю файл test.php в катологе С:\www\www1
->В explorer'е пишу http://localhost/test.php и браузер мне пишет, что страница не найдена и что он с таким адресом не знаком...
(***бардак)
Нужна ещё помощь.../ заранее благодарен.
| |
|
|
|
|
|
|
|
для: sn_petrovich
(06.08.2004 в 15:42)
| | после того как http.conf был скопирован в папку C:/www/Apache/conf - вы перегружали сервис Apache? | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 13:34)
| | Cтоп, перезагрузил машину всё заработало.
(... сейчас пойду головой об стенку побьюсь)
Он показывает в браузере только файлы с расширением .php. Это нормально?
Возможно ли с другой папки загружать скрипты или тольк о отсюда?
P.S.
\большое вам спасибо.
\вы меня оживили, я два дня уже сохну...и даже не столько над настройкой, сколько над её изучением.\
\памятник вам . | |
|
|
|
|
|
|
|
для: 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>
|
или можно прописать второй виртуальный хост... | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 16:23)
| | ...благодарность за инфо/
я думаю в процессе вопросы ещё появяться./
/*Ученье свет, а неученье чуть свет и на работу.*/
*Да, кстати, вот насчёт пораскомментировать это надо будет попотеть (я вытащил файл по вашей ссылке просто в нечитаемом виде (метр вправо, чуть меньше вниз ), хотя он и работает, и уже за это я его люблю)* | |
|
|
|
|
|
|
|
для: 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-файлы. Тогда нужно привести эту строку к виду, показанному выше. | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 00:10)
| | >Рано или поздно всё обязательно заработает. Вы ставите PHP
>5? В этом случае в конфигурационном файле Apache вместо
>php.exe следует писать php-cgi.exe (Изменения названий
>модулей произошло начиная с PHP 5 Release Candidate 2).
Млиять, вот так, из-за одного изменения - две бессонные ночи.
Правда, пока искал, где собака порылась, понял немного, как это работает.
Хорошо, что здесь столько отзывчивых людей!!! | |
|
|
|
|
|
|
|
для: 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";
?> | |
|
|
|
|
|
|
|
для: ПБ (Дмитрий)
(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 не дожидаясь подходящей темы :))), с удовольствием поможем. | |
|
|
|
|
|
|
|
для: cheops
(06.08.2004 в 20:26)
| | Нет, директива включена.
Заменил имена массивов - всё по-старому.
У меня основной текст записан в один файл, а обработка - в файл test1.php
Оба файла лежат в одной папке.
Если не трудно, сбросте, плиз, файл php.ini на мыло. Я в нем исправил только то, что написано в книге, а там еще куча отключенных директив и недописанных адресов.
Апач у меня лежит в C:\server\Apache2
ПХП5 - C:\server\php5
исполняемые файлы - C:\server\www
Еще у меня нет некоторых файлоф *.dll, поэтому я закомментировал соответствующие им директивы, например:
и не создавал переменную окружения C:\server\www
Это не может влиять?
Еще не устанавливал MySQL, но если я еще что-то соображаю, то он пока и не нужен.
Заранее спасибо.
P.S. Чуть не забыл. В книжке есть такая строчка: "скопируйте его (php.ini) в каталог с системными файлами Windows. " Это, простите, куда? И зачем? | |
|
|
|
|
|
|
|
для: ПБ (Дмитрий)
(07.08.2004 в 05:46)
| | О!!!
Можно не отвечать по поводу примера.
Нашел на сайте этот пример, скопировал, и все заработало!!!
Сейчас поищу, где я ошибался.
Ну вот. Все очень просто, пропустил знак = перед post
<form action=test1.php method post>
|
Теперь и мой вариант заработал!!! | |
|
|
|
|
|
|
|
для: ПБ (Дмитрий)
(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 на всякий случай выслал по почте. | |
|
|
|
|
|
|
|
для: 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 в 11:08)
| | Взял пример прямо с Вашей ссылки, запустил ничего не изменяя - все работает... И в IE и в Opera. М.б. у Вас отключен JavaScript? В этом случае как раз будет открываться пустая страница. | |
|
|
|
|
|
|
|
для: Кузнецов М.В.
(07.08.2004 в 12:47)
| | Да нет. JavaScript включен. Я на своем сайте его часто использую. Может где в настройках Апач или ПХП отключен?
Да, и в примере должна появлятся вот такая строка:
<Script Language="JavaScript">alert("Приветик!");</Script>
А у меня появляется вот такая:
<Script Language=\"JavaScript\"> alert(\"Приветик!\"); // функция вывода в JavaScript </Script> | |
|
|
|
|
|
|
|
для: ПБ (Дмитрий)
(07.08.2004 в 13:12)
| | >Да нет. JavaScript включен. Я на своем сайте его часто использую. Может где в настройках Апач или ПХП отключен?
Отключить JavaScript можно только на клиенсткой машине. Апач и ПХП работают на сервере, ничего про JavaScript не знают и потому отключить их там нельзя. | |
|
|
|
|
|
|
|
для: ПБ (Дмитрий)
(07.08.2004 в 13:12)
| | Хм... а не могли бы вы привести полную страницу... такое ощущение что код прогоняется через функцию addslashes() в этом случае может помочь функция stripslashes(), убирающая лишнее экранирование... или где-то некорректное использование кавычек...
http://www.softtime.ru/dic/id_dic=65&id_group= | |
|
|
|
|
|
|
|
для: ПБ (Дмитрий)
(07.08.2004 в 13:12)
| | Возможно, что включен режим экранирования спецсимволов (одинарной кавычки, двойной кавычки, обратного слеша и завершающего нуля) для GET, POST и COOKIE данных. Посмотрите в файле php.ini какое значение у директивы magic_quotes_gpc. Эта директива как раз и устанавливает (или отключает) режим экранирования. Для того, чтобы работало, должно быть Off. | |
|
|
|
|
|
|
|
для: Кузнецов М.В.
(07.08.2004 в 13:38)
| | Спасибо!!!
Именно из-за этого не работало. Теперь все работает точно так, как в примере. | |
|
|
|