SYBASE + PHP + Linux, вылетает в segmentation fault, хотя все модули собраны ОК

slach

Новичок
SYBASE + PHP + Linux, вылетает в segmentation fault, хотя все модули собраны ОК

вопрос такой, кто нибудь sybase open client 12.5 ставил ? под Linux ?

чего то у меня php в segmentation fault вылетает... хотя сам клиент нормально собирается...

да и код на php примитивный... вылетает на вызове sybase_connect

при этом /opt/sybase-12.5/OCS/bin/isql
работает нормально, а вот php сыплется

переменные типа SYBASE выставленны корректно, phpinfo() о наличии sybase_ct говорит...

под win32 аналогичный код работает нормально...

дохтур? к чему бы это?

может мне поставтить директиву
sybase.interface_file???
и пересобрать --with-sybase вместо --with-sybase-ct ???


mod_php4 компилял вот так:

'./configure' '--prefix=/usr' '--with-apxs=/usr/bin/apxs' '--with-regex=php' '--with-config-file-path=/etc/php4/apache' '--disable-rpath' '--disable-debug' '--enable-memory-limit' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-trans-sid' '--enable-bcmath' '--with-bz2' '--enable-ctype' '--with-db2' '--with-iconv' '--with-ndbm' '--enable-exif' '--enable-filepro' '--enable-ftp' '--with-gettext' '--enable-mbstring' '--with-pcre-regex' '--enable-shmop' '--enable-sockets' '--enable-wddx' '--with-xml=/usr' '--with-expat-dir=/usr' '--enable-yp' '--with-zlib' '--without-pgsql' '--disable-static' '--with-layout=GNU' '--with-dom=shared,/usr' '--with-zlib-dir=/usr' '--with-gd=shared,/usr' '--with-jpeg-dir=shared,/usr' '--with-xpm-dir=shared,/usr/X11R6' '--with-png-dir=shared,/usr' '--with-freetype-dir=shared,/usr' '--with-imap=shared,/usr' '--with-ldap=shared,/usr' '--with-mcal=shared,/usr' '--with-mhash=shared,/usr' '--with-mm' '--with-mysql=shared,/usr' '--with-unixODBC=shared,/usr' '--with-recode=shared,/usr' '--enable-xslt' '--with-xslt-sablot=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-ttf=shared,/usr' '--with-t1lib=shared,/usr' '--with-sybase-ct=/opt/sybase-12.5/OCS-12_5' '--with-interbase=/usr'
 

Yukko

Новичок
>вопрос такой, кто нибудь sybase open client 12.5 ставил ? под Linux ?
нет, но есть такая вещь как freetds
http://www.freetds.org/
FreeTDS is a set of libraries for Unix and Linux that allows your programs to natively talk to Microsoft SQL Server and Sybase databases.
У меня работает под Linux'ом,
правда с MSSQL.
 

Yukko

Новичок
>--with-sybase
когда собираешь freetds то надо использовать --with-sybase=/usr/local
на сайте отличный FAQ...
по-русски, но под MSSQL, есть немного тут: http://www.opennet.ru/base/dev/mssql_php.txt.html
 

slach

Новичок
не катит, open клиент существенно лучше...

перекомпилил с --with-sybase вместо sybase-ct, теперь работает из под command-line... но не работает из под mod_php4

причем как именно не работает... sybase_connect \ pconnect просто выдает FALSE... может он $SYBASE/interfaces берет фиг поймешь откуда ???


код для тестирования такой:
PHP:
echo '<PRE>';
echo '$_SERVER[SYBASE]='.$_SERVER['SYBASE'];
print_r(ini_get_all());
$sql = sybase_connect('SERVER','sa','sqlsql');
echo sybase_get_last_message();

sybase_select_db('test');
echo sybase_get_last_message();
$q = sybase_query("SELECT * FROM Performance");
echo sybase_get_last_message();

while ($r = sybase_fetch_array($q)) {
print_r($r);
}
sybase_close($sql);
echo '</PRE>';
причем что интересно, из под command-line - $_SERVER[sybase]=/opt/sybase-12.5
из под mod_php4
$_SERVER[sybase]=

при этом phpinfo() в обоих случаях, показывает раздел evrimoments
и там переменную sybase...
но вот command-line php ее преобразовывает в $_SERVER[] а mod_php4 НЕТ...
где я лажанулся ? лажа то маленькая наверняка...
 

tony2001

TeaM PHPClub
>чего то у меня php в segmentation fault вылетает... хотя сам клиент нормально собирается...

apachectl stop
gdb httpd
run -X
<ждем сегфолта>
bt

и результат bt вставляем в bugs.php.net
сам, к сожалению, сделать этого не смогу - Сибейза нет.
 

Elena

Guest
что у тебя в результате - что-нибудь получилось ?
у меня такая же ошибка
только на фрибсд
из командной строки получается, а через апач нет коннекта :(
 

Elena

Guest
в прямом смысле ошибок нигде не пишет,
но некорректная работа - разве это не ошибка ... ?
 

tony2001

TeaM PHPClub
некорректная работа - это некорректная работа.
что в логах апача?
 

Elena

Guest
в логах ничего полезного - никаких ошибок
 

tony2001

TeaM PHPClub
Elena
просто, молчит и "нет коннекта" ?
ну хоть какую-то ошибку скрипт пишет?
 
Сверху