|
|
|
| не работает проверочный код для mysql:
<?php
$dblocation = "127.0.0.1";
$dbname = "test";
$dbuser = "root";
$dbpasswd = "";
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo "<p>К сожалению, не доступен сервер mySQL</p>";
exit();
}
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo "<p>К сожалению, не доступна база данных</p>";
exit();
}
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Ошибка в запросе</p>";
exit();
}
echo mysql_result($ver, 0);
?>
В броузере выдает следующую ошибку:
Warning: main(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for '2.0/no DST' instead in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 7 Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 7
Что это может быть?
При этом связка apache php функционирует нормально... | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:30)
| | В php.ini следующая строчка раскомментирована (убрана ли точка с запятой перед ней)?
PS После изменения конфигурационного файла php.ini следует перезагрузить Apache. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:34)
| | да | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:40)
| | А в отчете функции phpinfo() упоминается расширение mysql?
| |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:41)
| | в разделе mysqlnd выводиться версия и т.д
кстати эта же ошибка выдается при выполнении данного кода в раздеде date | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:47)
| | Тут на самом деле две ошибки: предупреждение о невыставленном часовом поясе и невозможности обратиться к mysql_connect(). | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:49)
| | так что же сделать, чтоб заработало | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:47)
| | Хм... а версия PHP какая? Раздел называется mysqlnd, а не mysql?
Посмотрите в php.ini какое значение принимает директива extension_dir? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:52)
| | PHP Version 5.3.4
Version mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $ | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:30)
| | Первое предупреждение, кстати, связано с настройкой часового пояса, чтобы убрать его следует явно задать часовой пояс, например, так
<?php
// Выставляем часовой пояс
@date_default_timezone_set("Europe/Moscow");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:35)
| | куда вставить этот код? | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:41)
| | В этом скрипте все-равно куда, можно вначало, можно вконец (главное, чтобы до вызова функций времени и даты, но у вас их тут нет). | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:42)
| | теперь выдает вот такую ошибку:
Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 8
не может распознать функцию? | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:50)
| | У вас расширение php_mysql.dll не подцепилось, скорее всего ядро не видит библиотеки расширения.
Посмотрите в php.ini какое значение принимает директива extension_dir? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:53)
| | extension_dir="C:/Program Files/PHP/ext" | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:55)
| | Найдите в "C:/Program Files/PHP/ библиотеку libmysql.dll и скопируйте её в C:/Windows/system32/, после чего перезагрузите Apache. Что-нибудь изменилось? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 13:56)
| | по данному пути такой библиотеки нет! | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 13:59)
| | Хм... вообще libmysql.dll нет? А поищите её по компьютеру - она где-нибудь, кроме как в папке с MySQL существует?
PS Вообще нужна бы именно та библиотека libmysql.dll, которая подходит к вашему php_mysql.dll. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 14:01)
| | на диске С по следующим путям:
C:\Program Files\MySQL\MySQL Server 5.5\lib
C:\WebServers\usr\local\php5 | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 14:09)
| | Хм... попробуйте скачать PHP 5.2.17 и установить её, там в корне должна быть libmysql.dll, при помощи которой php_mysql.dll соединяется с MySQL-сервером. Дело в том, что к вашей php_mysql.dll подойдет не всякая библиотека libmysql.dll. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 14:13)
| | А с чем это связано? и где можно найти нужную библиотеку, потму что переставлять php не хотелось бы? и будет ли взаимодействовать более поздняя версия php с mysql server | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 14:18)
| | Вообще она должна быть в дистрибутиве. Её отсутствие, связано скорее всего с тем, что вроде как доступ к MySQL теперь должен находиться к ядре PHP. Т.е. теперь все должно сводиться к тому, что вы снимаете комментарий напротив расширения php_mysql.dll в php.ini и вам не нужно следить за дополнительными библиотеками. Однако, на практике мне так и не удалось запустить это расширение в новых версиях дистрибутива. Лично я, предпочел пока работать с более старыми дистрибутивами, пока ситуация не прояснится. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 14:24)
| | Переустанавливать только php или mysql тоже? и укажите, пожалуйста, ссылки, где можно взять более старые версии php и mysql? | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 14:27)
| | Нет, MySQL не нужно - она ожидает соединение по сетевому порту и с ней проблем не будет. Попробуйте сначала версию 5.2 со страницы http://windows.php.net/download/, только версию выбирайте потяжелее со всеми библиотеками и VC6, а не VC9. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 14:37)
| | а какую лучше выбрать VC6 x86 Thread Safe или VC6 x86 Non Thread Safe вроде почти одинаковые по размеру? В чем отличие у них? | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 14:40)
| | Если PHP устанавливаете как модуль, то выбирайте Thread Safe, если как CGI-приложение, то - Non Thread Safe | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 14:45)
| | старую версию php лучше удалить или можно оставить? | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 14:49)
| | На всякий случай, лучше удалить. | |
|
|
|
|
 40.5 Кб |
|
|
для: cheops
(14.01.2011 в 14:51)
| | переустановил php на версию 5.2.17 , но ошибка осталась! что делать? также, при вызове функции phpinfo() нет данных про mysql!!! прикрепляю html файл срезультатами функции phpinfo() | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 15:05)
| | Хм... а почему у вас extension_dir принимает значение php_mysql.dll - там должен быть путь к директории с библиотеками расширений? Если не сложно прикрепите свой php.ini. | |
|
|
|
|
 70.2 Кб |
|
|
для: cheops
(14.01.2011 в 15:20)
| | вот php.ini! | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 15:22)
| | А откуда у вас в секции [PHP_MYSQL] строка?
extension_dir=php_mysql.dll
|
Это неправильно, здесь должен быть путь к директории с расширениями, такими как php_mysql.dll | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 15:48)
| | поменял на extension_dir=C:\Program Files\PHP\ext
в итоге получил следующее:
Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: NO) in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 8
К сожалению, не доступен сервер mySQL | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 15:55)
| | Отлично, это уже ответ MySQL. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 16:11)
| | а что дальше, хотелось бы увидеть результат работы данного кода! | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 16:13)
| | Давайте теперь с логином и паролем разбираться. MySQL сообщает, что они не подходят. | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 15:55)
| | У вас MySQL запущена? Вы не меняли пароль к root во время установки? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 16:12)
| | нет не менял,оставил поля пустыми вроде | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 16:18)
| | Запустите MySQL Command Line Client - он принимает пустой пароль? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 16:21)
| | как поменять пароль на root | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 16:31)
| | Хм... пароль лучше потом менять, когда убедимся в том, что связка работает как надо. Тем более, что для смены потребуется старый пароль, или перезапуск MySQL без привилегий (а это лучше обсудить в отдельной теме, так как эта уже очень разрослась). | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 16:21)
| | это служба? | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 16:32)
| | Это утилитка, получить доступ к ней можно через Пуск и Программы, выбрав папку MySQL. | |
|
|
|
|
 115.1 Кб |
|
|
для: cheops
(14.01.2011 в 16:34)
| | запустил MySQL Instance Configuration Wizard в результате получил следующее: | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 16:41)
| | Судя по всему пароль для root все-таки задан. У вас ведь сейчас все-равно никаких баз нет? Попробуйте снести MySQL и поставить заново. | |
|
|
|
|
 32.1 Кб |
|
|
для: fox2011
(14.01.2011 в 16:41)
| | При установке, когда идет настройка, проверьте, чтобы эта страница выглядела как во вложении. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 16:49)
| | перустановил mysql ....
ошибка осталась:
Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: NO) in C:\Program Files\Apache Group\Apache2\htdocs\test.php on line 8
К сожалению, не доступен сервер mySQL | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 17:02)
| | А галку Modify Security Settings точно снимали? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 17:05)
| | ну конечно снимал! что дальше делать подскажите? | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 17:08)
| | А какую версию MySQL используете (до третьего знака)? Я сейчас скачаю её попытаюсь воспроизвести ситуацию. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 17:10)
| | устанавливал mysql-5.5.8-win32 версию по ссылке http://dev.mysql.com/downloads/mysql/ | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 17:16)
| | Хорошо, я как раз её качаю - хочется посмотреть, что там наизменяли. Как установлю, отпишусь об результатах. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 17:25)
| | за ранее спасибо! буду ждать! | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 17:25)
| | Действительно дур дом какой-то, такое ощущение, что mysqld.exe вообще порт не слушает, сейчас попробую до него достучаться. | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 17:25)
| | Знаете, наверное лучше скачать версию MySQL 5.1.x или 5.0.x, например, отсюда http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.53-win32.msi. В этом дистрибутиве мало того, что создается несколько версий каталога данных, так еще и сервер не подает никаких сетевых признаков жизни. Мне mysqld-сервер так и не удалось расшевелить.
PS Правда у меня сервер выдает другую ошибку, он вообще хочет устанавливать соединение. | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 17:25)
| | 1) Кстати, посмотрите файл my.ini в C:/Program Files/MySQL/, какое значение принимает директива datadir?
2) И какая у вас операционная система? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 18:11)
| | datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/Data/"
windows xp sp3 | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 18:17)
| | А попробуте её изменить на C:/Program Files/MySQL/Data/ и перезагрузить MySQL. Ничего не изменилось? | |
|
|
|
|
 344.5 Кб |
|
|
для: cheops
(14.01.2011 в 18:18)
| | теперь служба не запускается.
пишет следующее: | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 18:22)
| | Ага, вон он где, тогда вместо C:/Program Files/MySQL/Data/ впишите C:/Program Files/MySQL/MySQL Server 5.5/Data/ | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 18:22)
| | БОЛЬШОЕ СПАСИБО ВСЕ ЗАРАБОТАЛО!!!!!!!!!!!!!!! | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 18:25)
| | выдает теперь версию mysql 5.5.8
Все отлично!)))) | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 18:25)
| | Здорово!
PS Странно, что под Vista эта версия сервера не работает, надо будет поразбираться. А вообще если будет глючить, перебирайтесь на более старые версии - 5.5.8, слишком маленькая цифра и может содержать множество ошибок, когда треться цифра в версии приближается к 20 тогда уже можно работать практически не натыкаясь на глюки. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 18:28)
| | > когда треться цифра в версии приближается к 20 тогда уже можно работать практически не натыкаясь на глюки.
какая занимательная эмпирика :))
Я так полагал, что работать можно, когда над второй цифрой появилось две помоложе :)) | |
|
|
|
|
|
|
|
для: Trianon
(14.01.2011 в 18:30)
| | Судя по прошлым версиям, в инсталяторах ошибки не исправляются. Поэтому следует быть готовым, что под Windows теперь MySQL будет создавать две версии каталога Data, один из которых будет рабочим, а другой нет.
>Я так полагал, что работать можно, когда над второй цифрой появилось две помоложе :))
Когда треться цифра достигает 20 тоже жить можно. Но они там все перебутозили на сайте, MySQL 5.0 и MySQL 5.1 сдали в архив. В общем скорее всего о былой надежности MySQL можно потихоньку забывать. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 18:28)
| | да я уже начал сталкиваться потихоньку с проблемами.... хочу поднять сайт локально содержащий базу данных, что-то не всё грузиться(( | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 18:41)
| | Если новые вопросы возникнут, давайте новую тему создадим, а то эта уже очень длинная. | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 18:43)
| | хорошо ! | |
|
|
|
|
|
|
|
для: fox2011
(14.01.2011 в 17:08)
| | Да, и еще попробуйте запустить именно MySQL Command Line Client, она рядом с MySQL Instance Configuration Wizard должна быть и нажать Enter - какая реакция? | |
|
|
|
|
|
|
|
для: cheops
(14.01.2011 в 17:13)
| | такого нет! | |
|
|
|