powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php 4.3.10 (as cgi) + Apache2 + ADODB = 500
16 сообщений из 16, страница 1 из 1
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32906456
SuRH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
не работает такой вот код:
==============
$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
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32906492
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Запустите PHP с консоли. Если там оно не работает - апач здесь не причём, разбирайтесь с PHP. Если работает - сносите Apache2 и следуйте рекомендациям разработчиков PHP - ставьте нормальный апач из ветки 1.3
...
Рейтинг: 0 / 0
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32906601
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько я знаю второй апач имеет проблемы с пхп только в случае mod_php (и только в случае, описаном в мануале).
CGI должен работать стабильно.
Что в apache-вских логах пишут про эту ошибку ?
...
Рейтинг: 0 / 0
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32907313
SuRH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32907732
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть возможность проверить этот код из командной строки ? (php-cli)
...
Рейтинг: 0 / 0
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32907937
SuRH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создаю файл 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
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32908391
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
...
Рейтинг: 0 / 0
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32908659
SuRH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
включил как сказано в фак:
==========
<?
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
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32908662
SuRH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
фу ты.. все таки засветил директорию :) ... впрочем ладно .. это ничего не меняет ...
...
Рейтинг: 0 / 0
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32908704
SuRH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в коде ошибок нет... проверку на синтаксису проходит.
моё имхо - не создается экземпляр 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
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32908716
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
http://bugs.php.net - либо там есть описание вашей проблемы и пути её решения, либо вы будете первым...
...
Рейтинг: 0 / 0
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32908759
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
строку
ini_set('display_errors',1);
замени на
ini_set('display_errors', 'On');


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


Ошибка должна выводиться
будете смеятся, но ничего не выводится ...
запускаю из командной строки так
php.exe -f путь_к\tst.php
на экране пусто.
...
Рейтинг: 0 / 0
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32909098
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то мне кажется, что ты что-то не то делаешь или что-то напутал.
Простой файл :
Код: 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
php 4.3.10 (as cgi) + Apache2 + ADODB = 500
    #32909311
SuRH
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скопировал твой код, создал файл tst.php содержащий только то что ты написал, из ком. строки запустил:
php.exe tst.php

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


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