nginx php fpm不使用freetds,但使用php
我有一个使用nginx php fpm不使用freetds,但使用php,php,nginx,freetds,Php,Nginx,Freetds,我有一个使用freetds与mssql连接的代码。当我从命令行运行时,它工作得非常好。当我通过浏览器使用nginxphp-fpm运行时,它会失败。代码如下: <?php $host = "myhost"; $user = "username"; $pass = "password"; $db = "database"; $table = "user"; try { $conn = mssql_connect($host, $user, $pass);
freetds
与mssql
连接的代码。当我从命令行运行时,它工作得非常好。当我通过浏览器使用nginx
php-fpm
运行时,它会失败。代码如下:
<?php
$host = "myhost";
$user = "username";
$pass = "password";
$db = "database";
$table = "user";
try {
$conn = mssql_connect($host, $user, $pass);
mssql_select_db( $db, $conn );
$query = "SELECT COUNT(*) FROM [".$db."].[dbo].[".$table."]";
$query_result = mssql_query( $query , $conn );
echo "The count of ".$table." is: ";
$result = mssql_result ($query_result,0,0);
var_export($result);
mssql_close($conn); // close connection
} catch (Exception $e) {
throw new Exception("The script exited with an exception ===========================".PHP_EOL." ERROR TYPE ------------> ".$e);
}
?>
好的,我的问题是SELinux 确保这两个变量处于启用状态:
# getsebool -a | grep httpd_can_network_connect
httpd_can_network_connect --> on
httpd_can_network_connect_db --> on
并在未启用时启用它们:
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_network_connect_db 1
好吧,我的问题是SELinux 确保这两个变量处于启用状态:
# getsebool -a | grep httpd_can_network_connect
httpd_can_network_connect --> on
httpd_can_network_connect_db --> on
并在未启用时启用它们:
setsebool -P httpd_can_network_connect 1
setsebool -P httpd_can_network_connect_db 1