2016-03-30 6 views
1

Ich habe einen Code, der mit mssql unter Verwendung freetds verbindet. Es funktioniert perfekt, wenn ich von der Befehlszeile aus laufe. Es schlägt fehl, wenn ich mit nginxphp-fmp über den Browser laufen. Der Code lautet wie folgt:nginx php-fpm funktioniert nicht mit freetds aber arbeiten mit php

<?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); 
    } 

?> 

Antwort

0

Ok, In meinem Fall war das Problem SELinux

Achten Sie darauf, diese beiden Variablen sind ON:

# getsebool -a | grep httpd_can_network_connect 
httpd_can_network_connect --> on 
httpd_can_network_connect_db --> on 

und ihnen zu ermöglichen, wenn sie nicht eingeschaltet sind :

setsebool -P httpd_can_network_connect 1 
setsebool -P httpd_can_network_connect_db 1