We have a server that connects to 40+ different remote computers which are running Sybase 11.0.1.2596. Our server is hosted on an aws ec2 AMI Linux instance, and the connections are set up using FreeTDS. The server has several different command-line PHP scripts that use PDO with dblib to connect and select data. 99+% of the time everything works, but sometimes I get these errors:
SQLSTATE[HY000]: General error: PDO_DBLIB: dbresults() returned FAIL
SQLSTATE[HY000]: General error: 20047 TDS: unexpected token 56 [20047] (severity 1) [(null)]
SQLSTATE[HY000]: General error: 20047 DBPROCESS is dead or not enabled [20047]
They seem to happen randomly, and I can't figure out what is causing them or how to fix it. If I just wait, it will start working again. It also seems if I use tsql to connect it will start responding:
tsql -S <odbc name> -U <username>
Any advice is greatly appreciated.
netstat -s
in Linux will show you if there are any networking errors it's aware of, and might help in diagnosis.