PHP / SQL Server / Ubuntu 18.04에서 연결하는 방법
PHP에서 SQL Server에 연결하는 방법입니다. 서버 OS는 Ubuntu 18.04이고 Apache, PHP는 설치되어 있는 상태에서 시작합니다.
아래의 내용은 꼭 필요한 것만 모은 요약이며, 자세한 내용은 Microsoft 홈페이지에서 보실 수 있습니다.
소프트웨어 설치
다음의 명령을 차례대로 실행하여 필요한 소프트웨어를 설치합니다.
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17
apt-get install unixodbc-dev
apt install php-pear php-dev
pecl install sqlsrv
pecl install pdo_sqlsrv
PHP 설정 파일 수정
php.ini에 다음 코드를 추가합니다. 만약 PHP 7.2 버전이라면 /etc/php/7.2/apache2 디렉토리에 있습니다.
extension=sqlsrv.so extension=pdo_sqlsrv.so
웹서버 재시작
다음과 같이 명령하여 아파치 웹서버를 재시작합니다.
service apache2 restart
테스트
다음의 내용으로 PHP 파일을 만듭니다. yourServername, yourDatabase, yourUsername, yourPassword는 SQL Server의 정보로 변경합니다.
<?php $serverName = "yourServername"; $connectionOptions = array( "database" => "yourDatabase", "uid" => "yourUsername", "pwd" => "yourPassword" ); // Establishes the connection $conn = sqlsrv_connect($serverName, $connectionOptions); if ($conn === false) { die(formatErrors(sqlsrv_errors())); } // Select Query $tsql = "SELECT @@Version AS SQL_VERSION"; // Executes the query $stmt = sqlsrv_query($conn, $tsql); // Error handling if ($stmt === false) { die(formatErrors(sqlsrv_errors())); } ?> <h1> Results : </h1> <?php while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { echo $row['SQL_VERSION'] . PHP_EOL; } sqlsrv_free_stmt($stmt); sqlsrv_close($conn); function formatErrors($errors) { // Display errors echo "Error information: <br/>"; foreach ($errors as $error) { echo "SQLSTATE: ". $error['SQLSTATE'] . "<br/>"; echo "Code: ". $error['code'] . "<br/>"; echo "Message: ". $error['message'] . "<br/>"; } } ?>
웹브라우저로 접속했을 때 다음과 같은 화면이 나오면 정상적으로 연결된 것입니다.