Hi,
we are trying to install ADS PHP Extension for Linux on Centos web server. 5 Linux specialists already tried to do that on several servers with different versions of PHP. We also tried to install 10.10 (on PHP 5.2.9 64bit), 11.10 (on PHP 5.3 64bit) and now we are struggling with 12th version (on PHP 5.6.24 64bit).
Since 2010 we are normally running 32-bit version 9.1 of the extension on our old Linux web-server which connects to Windows Advantage Internet Connector 9.10. We need to upgrade, and we can't set up a new test web-server which should connect to trial version of new ADS server for Windows.
After reconfiguring and making PHP from source code, and starting up the Apache, PHP Extension works only if the it is open from console (e.g. running a bash command php /home/bitrix/www/ads/ads.php). In this case we get data from the server as expected. But if we open the same web-page from a user PC in a browser it hangs and httpd gets a Segfault and the user gets 500 error.
If we look at ADS server, we see that connection is established, but no data is returned to a web page.
log:
[Thu May 26 17:13:57 2016] [error] server reached MaxClients setting, consider raising the MaxClients setting
[Thu May 26 17:13:57 2016] [notice] child pid 6154 exit signal Segmentation fault (11)
in the dump we see this:
Dump #0 0x00007f6562e06271 in FetchDynamicRow () from /usr/lib64/libadsodbc.so.10.10
In some other PHP configurations ADS Extension returns nothing. If we set wrong login credentials it also doesn't return anything, even an error.
We tried to login to console with as Apache user — everything works fine. One linux specialist tried to get it working via CGI, but also no luck.
So, everyone who tried to install this extension on different machines ends up with the same problem — extension only works in console mode.
I'm sure, the solution is simple, but we can't find the problem. I can give access to this web server (it's a test virtual machine from Bitrix CMS → Bitrix24: Bitrix Environment for Bitrix24 (Self-hosted version)- see it's configuration)
Please, help. If we succeed, this would lead to purchase of ADS Server 12 for Windows.
Here is our test.php (we are testing inside our local network):
<html> <head> </head> <body> <?php echo "hello!<br>"; $rConn = ads_connect( "DataDirectory=\\\\192.168.0.6:6262\\best5\\dbase\\ads\\best5.add;ServerTypes=2;TrimTrailingSpaces=True;Rows=False;RightsChecking=OFF;CharSet=ANSI;AdvantageLocking=Off;DefaultType=CDX;", "b24", "***********" ); $rStmt = ads_prepare( $rConn, "SELECT * FROM system.objects" ); $rResult = ads_execute( $rStmt ); echo "count: "; echo ads_num_rows ($rStmt); echo "<br>good bye"; ads_close( $rConn ); ?> </body> </html>