[freetds] Using PHP with FreeTDS

Daniel Fazekas fdsubs at t-online.hu
Fri Jun 1 15:25:11 EDT 2007


On Jun 1, 2007, at 17:06, Brian Paquin wrote:

> TDSDUMP generates a LOT of output!!
> ( I redirected the output to a file. When the file reached 2GB, I  
> killed the job and reviewed file.)

Definitely shouldn't be getting that big, sounds like it's stuck in  
some infinite loop.

> Connects to the database and receives the first packet of database  
> results. After those lines, it seems like a lot of repetition (see  
> attached file "log.txt"). Is this output normal?

Clearly not normal, but you forgot to attach it, or it was lost  
somewhere along the way, perhaps due to the size of it.
Try sending it up to the first 2-3 repetitions max. Also note that  
sensitive login information may be in the log, you might want to edit  
that out first.

> I used "php -i" to retrieve the config used by Apple, downloaded  
> PHP  4.4.4 from php.net, and then rebuilt it (adding in the sybase  
> directive).

So you didn't apply Apple's custom patches to it, whatever those may  
do -- unlikely to make a difference with the sybase part.
Still, I just don't see the logic of reinstalling PHP this way.
If you're overwriting Apple's version with your own custom-built  
copy, you might as well have went with the current versions of PHP,  
4.4.7 or even 5.2.3. And because you installed it into the same place  
Apple's version used to be, Apple's system updates will likely just  
go ahead and blindly overwrite your copy in the future, killing the  
sybase support.

But again this is mostly just an aside; probably not the cause of  
your problem here.

> otool confirms that FreeTDS is present...
>          /usr/local/lib/libsybdb.5.dylib (compatibility version  
> 6.0.0, current version 6.0.0)

Good, so we have confirmed that you have:
- only one copy of PHP on your system
- it is linked to FreeTDS's db-lib and actually using it

I'm still not convinced that the problem lies in FreeTDS necessarily,  
the endless repetition could be simply following the orders of those  
calling it, the php script or the code of php's sybase extension.

Now we would need to take a look at that TDSDUMP log or your php  
script to find out more.
By the way, since you mentioned having a properly working set-up on  
another computer, it might also be a good idea to compare the TDSDUMP  
output of that system with the new one.

--
fds



More information about the FreeTDS mailing list