Тема: Проблема с Apache!

Здравствуйте!
ОС Windows XP.
Установил вот Apache 2.2.14, PHP 5.2.12, MySQL 5.1.
Добавляю в php.ini нужную строку с расширением для MySQL (extension=php_mysql.dll) и после этого, когда я перезапускаю Apache, он мне говорит, что The requested operation has failed. Стираю вышеуказанную строку и он опять запускается и без проблем показывает .php файлы в браузере. Вообщем не нравится ему строка с extension= *smth*.dll. Ну а без расширений делать нечего, вот и обращаюсь к вам за помощью. Заранее благодарен.

2

Re: Проблема с Apache!

DeadlyHunta
Проверьте корректность пути к библиотекам расширений уаказанном в данной директиве:
extension_dir = "C:/php/ext"

Проверьте наличие самой библиотеки php_mysql.dll, а так же связанной с ней libmysql.dll, которая должна находиться в корне PHP.

Еще один момент: корень PHP должен быть прописан в переменных окружения операционной системы (PATH).

3

Re: Проблема с Apache!

Hanut сказал:

DeadlyHunta
Проверьте корректность пути к библиотекам расширений уаказанном в данной директиве:
extension_dir = "C:/php/ext"

Проверьте наличие самой библиотеки php_mysql.dll, а так же связанной с ней libmysql.dll, которая должна находиться в корне PHP.

Еще один момент: корень PHP должен быть прописан в переменных окружения операционной системы (PATH).

Так :
1) extension_dir = "C:/PHP/ext" - строка из php.ini
2) libmysql.dll из того же архива php что и php_mysql.dll спкойно себе валяется в корне (c:\PHP\)
Сам php_mysql.dll лежит в c:\PHP\ext, что и прописано в конфиге
3) Если я ничего не напутал - control panel-> system->advanced-> environment variables - там строка с заглавием Path. Edit нажимаю, вписываю C:\PHP\; ОК нажимаю. Вообщем сделано и оно тоже. В том-то вся загогулина - всё по мануалу, а оно не работает. Мистика. Жду дальнейших советов. Спасибо.

4

Re: Проблема с Apache!

DeadlyHunta
После изменения PATH надо перезагрузить компьютер.

Попробуйте поискать дубль библиотеки libmysql.dll в системе. Ее не должно быть в каталогах находящихся в переменных окружения PATH, за исключением папки bin установочной директории MySQL. Если найдете эту библиотеку где-то еще, то переименуйте ее и перезагрузите компьютер.

Если не получится, покажите ваши конфигурационные файлы PHP и Apache.

5

Re: Проблема с Apache!

Hanut сказал:

DeadlyHunta
После изменения PATH надо перезагрузить компьютер.

Попробуйте поискать дубль библиотеки libmysql.dll в системе. Ее не должно быть в каталогах находящихся в переменных окружения PATH, за исключением папки bin установочной директории MySQL. Если найдете эту библиотеку где-то еще, то переименуйте ее и перезагрузите компьютер.

Если не получится, покажите ваши конфигурационные файлы PHP и Apache.

Получилось найти ошибку самому. Скачал другой рарник с PHP, выдернул оттуда libmysql.dll и заменил у себя (оказалось разные, видимо напортачил вовремя нескольких переустановлений) --- всё работает. Спасибо за поддержку.
Если не затруднит, посмотрите на этот код:

"include('login.php');
require_once('MDB2.php');


$dsn = array(
'phptype'=>'mysql',
'username'=>$db_username,
'password'=>$db_password,
'hostspec'=>$db_host,
'database'=>$db_database);


$mdb2 = MDB2::factory($dsn);
if(PEAR::isError($mdb2)){die($mdb2->getMessage());}
if($mdb2){echo 'mdb2-class object is created';}

$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);

$query = "SELECT * FROM books NATURAL JOIN authors";
/*---------------вот ЗДЕСЬ Апач приходит в ярость и не открывает! Не могу понять почему!
$result = $mdb2->query($query);
if(PEAR::isError($result)){die("Unable to request that query :</br>$query".$result->getMessage());}"

6

Re: Проблема с Apache!

DeadlyHunta
Попробуйте из запроса убрать объединение таблиц.

SELECT * FROM books;

7

Re: Проблема с Apache!

Ну как так убрать - мне нужен этот запрос. Да и не в нем дело, я могу и эту строку закомментировать. Дело в том, что Апач не хочет подключаться к заданной базе данных. Через DB.php тоже пробовал :

include('login.php');
require_once('DB.php');

$connection = DB::connect("mysql://$db_username:$db_password@$db_host/$db_database"); ------------вот ТУТ Апач накрывается тазом и рестартится
не нравится ему подключаться к базе данных и всё тут. Может я как-то не так настроил PEAR? Хотя что его там настраивать. Ни DB, ни MDB2 не хотят.
Кстати через phpDesigner2008 всё прекрасно подключается и работает. Но это только внутри phpDesigner2008, а через Апач в браузере не работает.---------
if(DB::isError($connection)){die("Error connecting to database".DB::errorMessage($connection));}
if($connection){echo "Connection established";}


/*$query = "SELECT * FROM books NATURAL JOIN authors";
$result = $connection->query($query);

echo ('<table border="1">');
echo ('<tr><th>Title</th><th>Author</th><th>Pages</th></tr>');

while ($result_row = $result->fetchRow())
{
    echo "<tr><td>";
    echo $result_row[1].'</td><td>';
    echo $result_row[4].'</td><td>';
    echo $result_row[2].'</td></tr>';
}
echo ('</table>');
$connection->disconnect();*/

8

Re: Проблема с Apache!

DeadlyHunta
В phpinfo() посмотрите подключилось ли расширение mysql.

<?php phpinfo(); ?>

Попробуйте запустить напрямую, чтобы отловить ошибку подключения. И посмотрите логи Apache.

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

9

Re: Проблема с Apache!

Кривые руки, растущие из известного места нашли-таки решение : везде перезаменил libmysql.dll, где ставил. В одном месте обнаружилась другая версия - она-т всё и портила. Теперь всё работает исправно. Спасибо за помощь, товарищ!

10

Re: Проблема с Apache!

Подскажите, пожалуйста, что делать, если при запуске сервиса Apache, пишет: "Не удалось запустить сервер Апаче на локальный компьютер". Ошибка 1067: Процесс был неожиданно завершен.

11

Re: Проблема с Apache!

Распишите по-подробнее : какая ОС, какой Апач, приведите пример из лога (error.txt) непосредственно вовремя ошибки.