Это все понятно. Непонятно почему новая версия PHP перестала обрабатывать вызов функции phpinfo() при вызове из-под IIS! Добавлено позже Все - разобрался! Новая версия PHP ТРЕБУЕТ В ОБЯЗАТЕЛЬНОМ ПОРЯДКЕ явного задания часового пояса (date.timezone)! :shock: Т.е., надо или инициализировать ключ date.timezone в php.ini или в прямо скрипте воспользоваться функцией date_default_timezone_set. Для Москвы, в частности, date_default_timezone_set('Europe/Moscow'). Насколько я понимаю, без этой настройки новая версия PHP не будет обрабатывать скрипты с использованием функций даты/времени и, собственно, вызов phpinfo().
потому все скрипты нужно начинать с строки error_reporting (E_ALL | E_STRICT);, при котором бы вывелась эта ошибка.
Увы! Эта настройка, кстати, автоматом включена в php.ini - но при работе из-под IIS не помогает - IIS игнорирует текст сообщения об ошибке от обработчика и тупо подставляет свою страницу с ошибкой 500 без расшифровки! С одной стороны, возможно, это и правильно - на кой пользователю знать детальное описание ошибки PHP, да еще и с указанием в каком именно файле эта ошибка и в какой строке. Вообщем, помогло явное включение в php.ini флага с указанием имени лог-файла! Правда, прикольно вышло - одна строка с сообщением о timezone была записана в файл несколько тысяч раз и файл лога имел размер почти под метр!
OlegR, если подставляет 500 ошибку, значит должна писать в логи. я думал, что сервер представления не имеет, это ошибка произошла в скрипте, или просто пользователь текст решил вывести такой - это все на плечах пхп. А сколько раз была вызвана функция связанная с датой, столько раз пишется в лог. Это равносильно PHP: <?php for ($i=100; $i--;) { echo $var; } Notice о несуществующей переменной запишется в лог 100 раз
вопрос: стоял apache 2.0.55 + php 5.2.1 + mysql 5.1. все работало. по совету интернет-сообщества (блин, дернул меня черт) поставил php 5.2.10. и вот какая беда. простой скрипт типа echo phpinfo() срабатывает. но любая попытка соединения с mysql заканчивается ответом апача "программа выполнтила недопустимую ошибку" и т.д. короче апач вылетает
В том-то и дело - если в php.ini явно задать лог-файл, то он честно пишет туда сообщение об ошибке. А сколько раз была вызвана функция связанная с датой, столько раз пишется в лог. [/quote] В том скрипте только 3 строчки: <?php phpinfo(); ?> Если принять во внимание сколько строк инфы она выводит, то получается, что на каждую строку выводилось сообщение об ошибке!
Помогите пожалуйста, уже мозг кипит просто не могу... Ставил все по инструкции только на D.. не работает пхп и мускул.. по разному пробовал ничего не помагает.. у меня стоит Делфи мне почему то кажется что может из-за него чего то ... в Path когда менял там небыло сточек адресов виндоус систем.. ток строчка делфи... может просто кто нибудь все строчку написать которая в Path написанна
Привет. Я все установил по схеме изложденной в иструкции, но Apache не запускается. Пишет в досовском окошке: No installed service named "Apache2". Что делать в этом случае?
Установил все как написяно в инструкции, php заработал, а при проверке MySQL выдал мне вот такую штуку Current PHP version: 5.2.9 Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test\index2.php on line 11 Как исправить ошибку, в чем она? Код (Text): <?php print "Current PHP version: <b> ". phpversion() ."</b>"; /* В этой строчке измените пароль доступа к mysql НА ТОТ, КОТОРЫЙ ВЫ ВВОДИЛИ ПРИ УСТАНОВКЕ MYSQL!!! $link = mysql_connect("localhost", "root","YOURPASSWORD") or die("Could not connect"); */ $link = mysql_connect("localhost", "root","YOURPASSWORD") or die("Could not connect"); if( !$link ) die( mysql_error() ); $db_list = mysql_list_dbs($link); while ($row = mysql_fetch_object($db_list)) { echo "<h3>Database \"".$row->Database."\"</h3>\n"; $result = mysql_list_tables($row->Database); if(!$result) die( "DB Error, could not list tables\n MySQL Error: ".mysql_error() ); else { while ($row = mysql_fetch_row($result)) print "Table: $row[0]<br>"; mysql_free_result($result); } } ?>
Причина моей ошибки была в Ошибке OS 10048. Could not bind to address. Я нашел всю информацию в соответстующей теме спасибо. Но тут еще одна проблемка... При вводе адреса в браузер выскакивает просьба ввести логин и пароль. Что за логин и пароль? Где их брать?
А есть какой нить ман по усановке на Win server? Просто MYSQL не ставиться. ругается на пароль root'a.
Здравствуйте, у меня почему-то нет соединения с MySQL. Не пойму в чем дело. Что я делал: Установил Apache версии которая предлагается в соответствии с инструкцией написанной на этом сайте (единственное отличие в примере устанавливается на диск C: а я установил на D Установил MySQL тоже на D: Разархивировал PHP в директорию D:\PHP5\ Разкомметнировал в файле php.ini Код (Text): extension=php_mysql.dll Добавил в самый низ в файл httpd.conf Код (Text): # Подключение PHP, как модуля LoadModule php5_module D:/PHP5/php5apache2.dll AddType application/x-httpd-php .php PHPIniDir "D:/PHP5/" В PATH прописал: Код (Text): D:\PHP5\;D:\PHP5\ext\; Далее перезагрузился на всякий случай и полез проверять phpinfo(); вроде работает, даже выводит таблицу mysql Код (Text): mysql MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 5.0.22 Думаю обрадовался что mysql встала, т.к. вторые сутки борюсь только чтобы в phpinfo(); появилась эта табличка Полез проверять коннект к БД через PHP и вылезла ошибка: Код (Text): Current PHP version: 5.2.1 Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in D:\Program Files\Apache Group\Apache2\htdocs\mysql.php on line 11 Could not connect Подскажите пожалуйста в чем проблема, может я что-то забыл сделать?
Вчера решил поставить домой. Все работает, НО - скорее всего битые библиотеки в РНР, потому как не робят след: Код (Text): PHP Warning: PHP Startup: Unable to load dynamic library 'c:/root/php5/ext/php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/root/php5/ext/php_gd2.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/root/php5/ext/php_iconv.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/root/php5/ext/php_mbstring.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'c:/root/php5/ext/php_mysql.dll' - The specified module could not be found.\r\n in Unknown on line 0 Проблему решил также, как и описано здесь http://24seo.ru/index.php?showtopic=17749
Здравствуйте, у меня такая проблема: Решил установить форум PhpBB2 на свой домашний сервер (управляется Windows Server 2003) Ну, установил Apache+PHP+MySQL Всё делал по этой статье. Дистрибутивы качал по ссылкам, которые даны в статье. Скачал, установил, сконфигурировал, но... при установке форума скрипт выдаёт такое сообщение: http://datakiska4.mail2k.ru/PhpBB2.JPG Тип базы данных я, естественно, указал MySQL 4.x Подскажите пожалуйста, что делать? Буду очень благодарен. Да и ещё: я с PHP и базами данных работаю превый раз, так что прошу сильно не пинать, если что...
Всем доброго времени суток! С этой сборкой Apache+php+mysql прямо какая-то мистика. Делал всё по инструкции Единственное что я немного поменял, это скачал более новые версии дистрибутивов. Ставил всё по инструкции: apache_2.0.63-win32-x86-no_ssl в "C:\Program Files\Apache Group\Apache2\" mysql-4.1.22-win32 в "C:\Program Files\MySQL\MySQL Server 4.1\" php-5.2.9-Win32 скачал в zip'е и распаковал в "C:\php5\" Тачка на которую ставил, работает под WinXP Pro SP2. конфиги: "php.ini" и "httpd.conf", решил не качать готовые, а поправить дефолтные самому, дабы закрепить знания. Переименовал файл php.ini-dist в php.ini в "C:\WINDOWS" ничего не пихал, т.к. сам считаю, что это не есть правильно и безопасно. В свойствах системы на вкладке дополнительно в переменных среды, для системной переменной "Path" я добавил в конец строки следующее: ";C:\php5\;C:\php5\ext\;C:\Program Files\MySQL\MySQL Server 4.1\bin\" После чего перезагрузил компьютер. В php.ini не изменял ничего кроме: 1. в разделе "Dynamic Extensions" раскомментировал строку: Код (Text): extension=php_mysql.dll (убрал в начале строки ";"). 2. в разделе "Paths and Directories" поменял Код (Text): extension_dir = "./" на Код (Text): extension_dir = "c:/php5/ext" В httpd.conf не изменял ничего кроме: 1. Дописал под длинным списком различных "LoadModule" следующее: Код (Text): # Loading PHP5 as module LoadModule php5_module C:/php5/php5apache2.dll AddType application/x-httpd-php .php PHPIniDir "C:/php5/" Полезности закомментированной строки "#AddModule mod_php5.c", которая часто встречается в этой теме, я не понял, по этому не включал её в добавленные строчки. 2. Впихнул в уже существующую в файле "DirectoryIndex" в начало строчку "index.php", после чего получилось: "DirectoryIndex index.php index.html index.html.var" Перезапустил Апач. Апач не умер. Работает. Далее, я создал папку "test" в папке "C:\Program Files\Apache Group\Apache2\htdocs\" Создал файлик "index.php", в который записал всего три строки, как в примере в инструкции: Код (Text): <?php phpinfo(); ?> PHP работает. Вылезла длинная портянка - таблица с инфой. В портянке - таблице не обнаружил ничего содержащего текст "MySQL" или "SQL", кроме "sql.safe_mode - Off - Off" Далее я создал в той же папке "test", файлик "index2.php", с содержимым из примера в инструкции (чуток почистил от комментов и лишних строк): Код (Text): <?php print "Current PHP version: <b> ". phpversion() ."</b>"; $link = mysql_connect("localhost","root","testpassword") or die("Could not connect"); if( !$link ) die( mysql_error() ); $db_list = mysql_list_dbs($link); while ($row = mysql_fetch_object($db_list)) { echo "<h3>Database \"".$row->Database."\"</h3>\n"; $result = mysql_list_tables($row->Database); if(!$result) die( "DB Error, could not list tables\n MySQL Error: ".mysql_error() ); else { while ($row = mysql_fetch_row($result)) print "Table: $row[0]<br>"; mysql_free_result($result); } } ?> В функции mysql_connect() заменил "YOURPASSWORD" на тот пароль к "root", который задавал при установке MySQL. Перехожу по ссылке: http://localhost/test/index2.php и получаю: Код (Text): Current PHP version: 5.2.9 Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test\index2.php on line 3 Я так и понял, что MySQL всётаки не подсосался. Пробовал с версиями дистрибутивов как в примере - то же самое. Помогите пожалуйста разобраться. 8)
Код (Text): Configuration File (php.ini) Path: C:\WINDOWS Loaded Configuration File: C:\php5\php.ini чуть ниже в разделе Configuration - PHP Core Код (Text): extension_dir: c:/php5/ext c:/php5/ext В папке c:\WINDOWS файла php.ini не обнаружено.
C:\Users\1>php -v PHP 5.2.10 (cli) (built: Jun 17 2009 16:16:57) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies C:\Users\1>php -i | findstr extension_dir extension_dir => ./ => ./ C:\Users\1>php -i | findstr "Loaded Configuration File" Configuration File (php.ini) Path => C:\Windows Loaded Configuration File => C:\php5\php.ini Configuration Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, DirectoryIterator, DomainException, Em ptyIterator, FilterIterator, InfiniteIterator, InvalidArgumentException, Iterato rIterator, LengthException, LimitIterator, LogicException, NoRewindIterator, Out OfBoundsException, OutOfRangeException, OverflowException, ParentIterator, Range Exception, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveDirectoryI terator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexItera tor, RegexIterator, RuntimeException, SimpleXMLIterator, SplFileInfo, SplFileObj ect, SplObjectStorage, SplTempFileObject, UnderflowException, UnexpectedValueExc eption CLASSPATH => .;C:\Program Files\Java\jre6\lib\ext\QTJava.zip CommonProgramFiles => C:\Program Files\Common Files Path => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files \CyberLink\Power2Go;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\MySQL\ MySQL Server 5.0\bin;C:\php5\;C:\php5\ext\ ProgramFiles => C:\Program Files QTJAVA => C:\Program Files\Java\jre6\lib\ext\QTJava.zip _SERVER["CLASSPATH"] => .;C:\Program Files\Java\jre6\lib\ext\QTJava.zip _SERVER["CommonProgramFiles"] => C:\Program Files\Common Files _SERVER["Path"] => C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Pr ogram Files\CyberLink\Power2Go;C:\Program Files\QuickTime\QTSystem\;C:\Program F iles\MySQL\MySQL Server 5.0\bin;C:\php5\;C:\php5\ext\ _SERVER["ProgramFiles"] => C:\Program Files _SERVER["QTJAVA"] => C:\Program Files\Java\jre6\lib\ext\QTJava.zip
ОК. поменял как у тебя extension_dir на "./", рестартанул апач. Всё равно тоже самое: Код (Text): Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test\index2.php on line 3 Вот моё: Код (Text): C:\users\user>php -v PHP 5.2.9 (cli) (built: Feb 25 2009 15:52:24) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies Код (Text): C:\users\user>php -i | findstr extension_dir extension_dir => ./ => ./ Код (Text): C:\users\user>php -i | findstr "Loaded Configuration File" Configuration File (php.ini) Path => C:\WINDOWS Loaded Configuration File => C:\php5\php.ini Configuration Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallExcept ion, CachingIterator, DirectoryIterator, DomainException, EmptyIterator, FilterIterator, InfiniteIte rator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, N oRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, Range Exception, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveDirectoryIterator, RecursiveFi lterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RegexIterator, RuntimeException, Si mpleXMLIterator, SplFileInfo, SplFileObject, SplObjectStorage, SplTempFileObject, UnderflowException , UnexpectedValueException CommonProgramFiles => C:\Program Files\Common Files Path => C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\php5\;C:\php5\ext\;C:\Program Fil es\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Support Tools\;C:\Program Files\MySQL\MySQL Server 4.1\bin\;C:\WINDOWS\ ProgramFiles => C:\Program Files _SERVER["CommonProgramFiles"] => C:\Program Files\Common Files _SERVER["Path"] => C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\php5\;C:\php5\ext\;C:\ Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Support Tools\;C:\Program Files\ MySQL\MySQL Server 4.1\bin\;C:\WINDOWS\ _SERVER["ProgramFiles"] => C:\Program Files _ENV["CommonProgramFiles"] => C:\Program Files\Common Files _ENV["Path"] => C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\php5\;C:\php5\ext\;C:\Pro gram Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Support Tools\;C:\Program Files\MyS QL\MySQL Server 4.1\bin\;C:\WINDOWS\ _ENV["ProgramFiles"] => C:\Program Files