Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php 4.3.10 (as cgi) + Apache2 + ADODB = 500 / 16 сообщений из 16, страница 1 из 1
08.02.2005, 16:07
    #32906456
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
не работает такой вот код:
==============
$db = 'path to mdb-file';
$conn = new COM("ADODB.Connection") or die("cannot create adodb");
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
...далее выборка из mdb и вывод print'ом резхультатов
================

апач выдает ошибку 500.
если сделать вот так (без die и далее следующего кода):
==========
$db = 'path to mdb-file';
$conn = new COM("ADODB.Connection");
...далее выборка из mdb и вывод print'ом резхультатов
===========
то апач ошибку не выдает, страница долго грузится и в итоге пустая. если в строку с new COM добавить or die то выдает ошибку 500

ADO в системе присутствует, драйвер access'а тоже.

сдается мне что просто не создается экземпляр объекта. видимо дело в настройка то ли пхп то ли апача.

подскажите в чем косяк?
...
Рейтинг: 0 / 0
08.02.2005, 16:21
    #32906492
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
Запустите PHP с консоли. Если там оно не работает - апач здесь не причём, разбирайтесь с PHP. Если работает - сносите Apache2 и следуйте рекомендациям разработчиков PHP - ставьте нормальный апач из ветки 1.3
...
Рейтинг: 0 / 0
08.02.2005, 16:56
    #32906601
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
насколько я знаю второй апач имеет проблемы с пхп только в случае mod_php (и только в случае, описаном в мануале).
CGI должен работать стабильно.
Что в apache-вских логах пишут про эту ошибку ?
...
Рейтинг: 0 / 0
09.02.2005, 07:41
    #32907313
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
access.log:
запись по обращению к это странице заканчивается кодом 500.

error.log:
[Tue Feb 08 17:04:03 2005] [error] [client xxx.xxx.xxx.xxx] Premature end of script headers: php.exe
...
Рейтинг: 0 / 0
09.02.2005, 11:40
    #32907732
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
Есть возможность проверить этот код из командной строки ? (php-cli)
...
Рейтинг: 0 / 0
09.02.2005, 12:44
    #32907937
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
создаю файл tst.php след содержания:
=============
<?
$db = 'диск:\\путь\\к\\файлу.mdb';
$conn = new COM("ADODB.Connection") or die("cannot create adodb");
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
print "$conn->Version";
print "end_tst.php";
?>
=============

выполняю php-cli.exe -f tst.php

на stdout (на экран) ничего не выводится...
...
Рейтинг: 0 / 0
09.02.2005, 15:06
    #32908391
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
...
Рейтинг: 0 / 0
09.02.2005, 16:37
    #32908659
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
включил как сказано в фак:
==========
<?
ini_set('display_errors',1);
error_reporting(E_ALL);
$db = 'D:\\inetserv\\www\\anime\\animelist\\animelist.mdb';
$conn = new COM("ADODB.Connection") or die("cannot create adodb");
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");
print "$conn->Version";
print "end_tst";
?>
=================

результат тот же - ничего не выводится
...
Рейтинг: 0 / 0
09.02.2005, 16:38
    #32908662
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
фу ты.. все таки засветил директорию :) ... впрочем ладно .. это ничего не меняет ...
...
Рейтинг: 0 / 0
09.02.2005, 16:51
    #32908704
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
в коде ошибок нет... проверку на синтаксису проходит.
моё имхо - не создается экземпляр com-объекта ADODB.Connection в конструкции $conn = new COM("ADODB.Connection") or die("cannot create adodb");
... проверил - создаются ли другие ActiveX объекты на примере Word.Application ... вывод - не создаются .. результат такой же... даже до print "end_tst"; не доходит - вываливается пхп ... но почему при этом он не сообщает ни об одной ошибке не понятно... так же непонятно почему не срабатывает конструкция or die() ... Затык идет имеенно на new COM. Какие конфигурационные строки в php.ini отвечают за работу с COM? там есть раздел [com], но он относится к DCOM, который к данному случаю никакого отношения не имеет. Отсюда постановка проблемы: как заставить пхп работать с COM-объектами правильно ... для этого надо сначала понять - почему не работает, ведь поддержка COM-архитектуры встроена в ядро php...
вот понять почему не работа.
Может ли это быть связано с установками безопасности на Windows 2000?

Переставлять винду - не решение, потому как это DC Active Directory. Кстати там же крутится терминальные службы ... может ли это как то влиять?

вот такие вопросы возникают...
...
Рейтинг: 0 / 0
09.02.2005, 17:07
    #32908716
*
*
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
http://bugs.php.net - либо там есть описание вашей проблемы и пути её решения, либо вы будете первым...
...
Рейтинг: 0 / 0
09.02.2005, 17:24
    #32908759
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
строку
ini_set('display_errors',1);
замени на
ini_set('display_errors', 'On');


Ошибка должна выводиться
...
Рейтинг: 0 / 0
09.02.2005, 17:38
    #32908788
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
Макс М.строку
ini_set('display_errors',1);
замени на
ini_set('display_errors', 'On');


Ошибка должна выводиться
будете смеятся, но ничего не выводится ...
запускаю из командной строки так
php.exe -f путь_к\tst.php
на экране пусто.
...
Рейтинг: 0 / 0
09.02.2005, 21:46
    #32909098
Макс М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
Что-то мне кажется, что ты что-то не то делаешь или что-то напутал.
Простой файл :
Код: plaintext
1.
2.
3.
4.
5.
<?
error_reporting(E_ALL);
ini_set('display_errors', 'On');
$conn = new COM("ADODB.Connection");
print_r($conn);
?>
Этот код (ничего сюда не добавляй), запущенный из командной, строки ничего не выводит ?
...
Рейтинг: 0 / 0
10.02.2005, 08:12
    #32909311
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
Скопировал твой код, создал файл tst.php содержащий только то что ты написал, из ком. строки запустил:
php.exe tst.php

ничего не выводит ...
он не проходит дальше new COM ...
потому что дальше даже or die уже не обрабатывается если оно есть...
...
Рейтинг: 0 / 0
10.02.2005, 08:17
    #32909318
SuRH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
запускаю
php.exe -n tst.php
выводися только вот это
Код: plaintext
1.
2.
Content-type: text/html
X-Powered-By: PHP/ 4 . 3 . 10 
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php 4.3.10 (as cgi) + Apache2 + ADODB = 500 / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]