Как мне подключить mssql к работе с помощью PHP7?


При переносе веб-приложения на сервер с помощью PHP7 я сталкиваюсь с одной проблемой: я не могу заставить mssql_connect работать. Я обнаружил, что mssql еще не работает (или никогда не будет работать) на PHP7.

Каков самый быстрый способ подключения к MSSQL с помощью PHP7 на Ubuntu (Nginx, php-fpm)?

2 3

2 ответа:

Функция соединения больше не mssql_connect (). Начиная с php 5.3 он был устаревшим. Теперь на php 7 эта старая функция исчезает. Но не волнуйтесь ;) в настоящее время вы можете использовать функцию sqlsrv_connect() вместо этого.

Имейте в виду, что в новом методе необходимо правильно настроить параметры. Есть некоторые отличия. Вот вам небольшой пример.

<?php
$serverName = "serverName\sqlexpress, 1542"; //serverName\instanceName, portNumber (1433 by default)
$connectionInfo = array( "Database"=>"dbName", "UID"=>"userName", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Successfuly connected.<br />";
}else{
     echo "Connection error.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

Может быть, этот ответ приходит немного поздно для вас, но я надеюсь, что это не слишком поздно для кого-то.

1.sudo apt-get update install php-sybase

2.

$dsn= 'dblib:host=youIP:1433;dbname=XXX;';
$dbusername="sa";
$dbpassword="XXXX";
try
{
    $mspdo = new PDO($dsn,$dbusername,$dbpassword);
    $mspdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $pe)
{
    die("database connect error:". $pe->getMessage());
}