Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.
Bezeichnung | Grundeinstellung | Änderbar | Changelog |
---|---|---|---|
mssql.allow_persistent | "1" | PHP_INI_SYSTEM | |
mssql.max_persistent | "-1" | PHP_INI_SYSTEM | |
mssql.max_links | "-1" | PHP_INI_SYSTEM | |
mssql.min_error_severity | "10" | PHP_INI_ALL | |
mssql.min_message_severity | "10" | PHP_INI_ALL | |
mssql.compatability_mode | "0" | PHP_INI_ALL | |
mssql.connect_timeout | "5" | PHP_INI_ALL | |
mssql.timeout | "60" | PHP_INI_ALL | Seit PHP 4.1.0 verfügbar. |
mssql.textsize | "-1" | PHP_INI_ALL | |
mssql.textlimit | "-1" | PHP_INI_ALL | |
mssql.batchsize | "0" | PHP_INI_ALL | Seit PHP 4.0.4 verfügbar. |
mssql.datetimeconvert | "1" | PHP_INI_ALL | Seit PHP 4.2.0 verfügbar. |
mssql.secure_connection | "0" | PHP_INI_SYSTEM | Seit PHP 4.3.0 verfügbar. |
mssql.max_procs | "-1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar. |
mssql.charset | "" | PHP_INI_ALL | Seit PHP 5.1.2 verfügbar, wenn es mit FreeTDS 7.0 oder höher übersetzt wurde. |
Use this to check the runtime tds version...
<?php
/**
*
* Checks runtime tds version for freetds with mssql
*
* @author Brendon Crawford
* @see http://us.php.net/manual/en/mssql.configuration.php
* @param string $dbHost
* @param int $dbPort
* @param string $dbUser
* @param string $dbPass
* @return float
*
*/
function checkTdsVersion($dbHost, $dbPort, $dbUser, $dbPass) {
$cmd = sprintf(
'echo "version" | ' .
" tsql " .
" -H '%s' " .
" -p '%s' " .
" -U '%s' " .
" -P '%s' " .
" -o q | " .
"cut -d ' ' -f4 ",
escapeshellarg($dbHost),
escapeshellarg($dbPort),
escapeshellarg($dbUser),
escapeshellarg($dbPass)
);
$ver = (float)shell_exec($cmd);
return $ver;
}
?>
mssql.charset "" PHP_INI_ALL
this setting is case sensitive, it can provide problms with connection to DB.
ini_set('mssql.charset', 'utf-8');
this setting this allowed me to connect.
ini_set('mssql.charset', 'UTF-8');
that one is ok.
regards!
Take care about mssql.max_procs = '-1'. It doesn't mean unlimited procs.
With the default driver, it's mean 25 procs.
See php.ini for more information.
If you're application is stress, mssql_connect may failed without adjustment.
There also exists a configuration option called 'mssql.charset'.
It will override the 'client charset' setting in freetds.conf.
AFAIK this will only take effect if the 'tds version' setting
in freetds.conf is >=7.0