Hướng dẫn install sqlsrv php 7.2 ubuntu - cài đặt sqlsrv php 7.2 ubuntu

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

apt-get cài đặt php7.2-dev php7.2-xml -y --allow-unauthentated
sudo curl https://packages.microsoft.com/keys/microsoft.asc | apt -key add -
sudo curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list> /etc/apt/source.list.d/mssql-release.list
Cập nhật sudo apt-get
sudo accept_eula = y apt -get cài đặt msodbcsql17 -y
sudo accept_eula = y apt-get cài đặt mssql-tools -y
echo 'export path = "$ path:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export path = "$ path:/opt/mssql-tools/bin"' >> ~/.bashrc
nguồn ~/.bashrc
sudo apt-get cài đặt unixodbc-dev -y
sudo apt-get install gcc g ++ Make autoconf libc-dev pkg-config -y
sudo printf "; ưu tiên = 20 \ nextension = sqlsrv.so \ n"> /etc/php/7.2/mods-available/sqlsrv.ini\nextension=sqlsrv.so\n" > /etc/php/7.2/mods-available/sqlsrv.ini
sudo printf "; ưu tiên = 30 \ nextension = pdo_sqlsrv.so \ n"> /etc/php/7.2/mods-available/pdo_sqlsrv.ini\nextension=pdo_sqlsrv.so\n" > /etc/php/7.2/mods-available/pdo_sqlsrv.ini
sudo phpenmod -V 7.2 SQLSRV PDO_SQLSRV
sudo apt-get cài đặt libapache2-mod-php7.2
sudo pecl cài đặt SQLSRV
sudo pecl cài đặt pdo_sqlsrv
Sudo Echo Extension = PDO_SQLSRV.SO >> `Php - -ini | grep "Quét cho các tệp .ini bổ sung" | sed -e "s |.*: \ s*||" `/pdo_sqlsrv.ini\s*||"`/pdo_sqlsrv.ini
Sudo Echo Extension = SQLSRV.SO >> `Php - -ini | grep "Quét cho các tệp .ini bổ sung" | sed -e "s |.*: \ s*||" `/sqlsrv.ini\s*||"`/sqlsrv.ini
sudo apt-get cài đặt php-pear -y
SUDO Service Apache2 Khởi động lại

Trên máy chủ Ubuntu 18.04 chạy PHP 7.2, tôi muốn cài đặt mô -đun Microsoft SQL Server cho PHP. Bạn có thể tìm thấy mô -đun PHP cho SQL Server tại

https://github.com/microsoft/msphpsql

Tại thời điểm viết mô -đun PHP này chỉ hỗ trợ PHP 7.4 và mới hơn. Vì vậy, tôi cần tìm phiên bản cũ hơn hỗ trợ PHP 7.2. Khi kiểm tra trang phát hành, tôi đã tìm thấy phiên bản 5.8.0 được hỗ trợ Php 7.2

Cài đặt đầu tiên Gói Php7.2 Dev với

Các mô -đun PHP instal với Pcel

PECL Cài đặt SQLSRV-5.8.0install sqlsrv-5.8.0

Trong quá trình cài đặt, tôi gặp lỗi

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

configure:creating./config.status:creating./config.status

config.status: Tạo Config.h.status:creating config.h

config.status: thực thi các lệnh libtool.status:executing libtool commands

running:make: make

/bin/bash/tmp/pear/temp/pear-build-rootnuxjay/sqlsrv-5.8.0/libtool--mode=compileg++-std=c++11-i.-i/tmp/pear/temp/sqlsrv- DPHP_ATOM_INC-I/TMP/PEAR/TEMP/PEAR-BUILD-ROOTNUXJAY/SQLSRV-5.8.0/POCK-I PEAR/TEMP/SQLSRV-I/usr/bao gồm/php/20170718-i/usr/bao gồm/php/20170718/main-i/usr/incl Zend-I/usr/bao gồm/php/20170718/ext-i/usr/incl ; -c/TMP/PEAR/TEMP/SQLSRV/Conn.CPP-OCONN.LObin/bash/tmp/pear/temp/pear-build-rootnuxjAy/sqlsrv-5.8.0/libtool--mode=compileg++-std=c++11-I. -I/tmp/pear/temp/sqlsrv-DPHP_ATOM_INC-I/tmp/pear/temp/pear-build-rootnuxjAy/sqlsrv-5.8.0/include -I/tmp/pear/temp/pear-build-rootnuxjAy/sqlsrv-5.8.0/main-I/tmp/pear/temp/sqlsrv-I/usr/include/php/20170718 -I/usr/include/php/20170718/main-I/usr/include/php/20170718/TSRM-I/usr/include/php/20170718/Zend-I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib-I/tmp/pear/temp/sqlsrv/shared/  -DHAVE_CONFIG_H  -std=c++11-D_FORTIFY_SOURCE=2-O2 -fstack-protector   -c/tmp/pear/temp/sqlsrv/conn.cpp-oconn.lo

libtool:compile:  g++-std=c++11-I.-I/tmp/pear/temp/sqlsrv-DPHP_ATOM_INC-I/tmp/pear/temp/pear-build-rootnuxjAy/sqlsrv-5.8.0/include-I/tmp/pear/temp/pear-build-rootnuxjAy/sqlsrv-5.8.0/main-I/tmp/pear/temp/sqlsrv-I/usr/include/php/20170718-I/usr/include/php/20170718/main-I/usr/include/php/20170718/TSRM-I/usr/include/php/20170718/Zend-I/usr/include/php/20170718/ext-I/usr/include/php/20170718/ext/date/lib-I/tmp/pear/temp/sqlsrv/shared/-DHAVE_CONFIG_H-std=c++11-D_FORTIFY_SOURCE=2-O2-fstack-protector-c/tmp/pear/temp/sqlsrv/conn.cpp  -fPIC-DPIC-o.libs/conn.o:compile:  g++ -std=c++11-I.-I/tmp/pear/temp/sqlsrv-DPHP_ATOM_INC-I/tmp/pear/temp/pear-build-rootnuxjAy/sqlsrv-5.8.0/include -I/tmp/pear/temp/pear-build-rootnuxjAy/sqlsrv-5.8.0/main-I/tmp/pear/temp/sqlsrv-I/usr/include/php/20170718 -I/usr/include/php/20170718/main-I/usr/include/php/20170718/TSRM-I/usr/include/php/20170718/Zend-I/usr/include/php/20170718/ext -I/usr/include/php/20170718/ext/date/lib-I/tmp/pear/temp/sqlsrv/shared/-DHAVE_CONFIG_H-std=c++11-D_FORTIFY_SOURCE=2-O2 -fstack-protector-c/tmp/pear/temp/sqlsrv/conn.cpp  -fPIC-DPIC-o.libs/conn.o

Infile bao gồm từ/TMP/PEAR/TEMP/SQLSRV/Shared/typedefs_for_linux.h: 23: 0,file included from/tmp/pear/temp/sqlsrv/shared/typedefs_for_linux.h:23:0,

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; từ/tmp/pear/temp/sqlsrv/chia sẻ/xplat_winnls.h: 24,from /tmp/pear/temp/sqlsrv/shared/xplat_winnls.h:24,

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; từ/tmp/pear/temp/sqlsrv/chia sẻ/formatedprint.h: 24,from /tmp/pear/temp/sqlsrv/shared/FormattedPrint.h:24,

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; từ/tmp/pear/temp/sqlsrv/chia sẻ/core_sqlsrv.h: 41,from /tmp/pear/temp/sqlsrv/shared/core_sqlsrv.h:41,

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; từ/TMP/PEAR/TEMP/SQLSRV/PHP_SQLSRV_INT.H: 25,from /tmp/pear/temp/sqlsrv/php_sqlsrv_int.h:25,

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; từ/TMP/PEAR/TEMP/SQLSRV/Conn.CPP: 24:from/tmp/pear/temp/sqlsrv/conn.cpp:24:

/tmp/pear/temp/sqlsrv/shared/xplat.h:30:10:tmp/pear/temp/sqlsrv/shared/xplat.h:30:10: fatal error:sql.h:No such file ordirectory

#bao gồm

          ^~~~~~~^~~~~~~

tổng hợp chấm dứt.terminated.

Makefile: 194: Công thức Fortarget'conn.lo'failed:194:recipe fortarget'conn.lo'failed

make:***[conn.lo]Error1:***[conn.lo]Error1

ERROR:`make'failed: `make'failed

root@server: ~#@server:~#

Cái này được sửa bằng lệnh

apt-get cài đặt unixoDBC-dev-get install unixodbc-dev

Cài đặt PDO_SQLSRV với

PECL Cài đặt PDO_SQLSRV-5.8.0install pdo_sqlsrv-5.8.0

Chạy

printf "; ưu tiên = 20 \ nextension = sqlsrv.so \ n">/etc/php/7.2/mod-available/sqlsrv.ini"; priority=20\nextension=sqlsrv.so\n">/etc/php/7.2/mods-available/sqlsrv.ini

printf "; ưu tiên = 30 \ nextension = pdo_sqlsrv.so \ n">/etc"; priority=30\nextension=pdo_sqlsrv.so\n"> /etc/php/7.2/mods-available/pdo_sqlsrv.ini

Các mô -đun ENABE PHP với

PhpenMod-v7.2sqlsrv PDO_SQLSRV-v7.2sqlsrv pdo_sqlsrv

Khởi động lại apache, bây giờ phpinfo () hiển thị pdo_sqlsrv

Hướng dẫn install sqlsrv php 7.2 ubuntu - cài đặt sqlsrv php 7.2 ubuntu

Nhưng khi truy cập tập lệnh PHP kết nối với MS SQL Server, tôi sẽ gặp lỗi

Phần mở rộng này yêu cầu trình điều khiển Microsoft ODBC để SQL Server liên lạc với SQL Server. Truy cập URL sau đây để tải xuống trình điều khiển ODBC cho SQL Server cho x64

Để khắc phục điều này, làm

Curl https://packages.microsoft.com/keys/microsoft.asc | apt -key add -https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

Cho Ubuntu 16.04

Curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list> /etc/apt/source.list.d/mssql-release.listhttps://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

Cho Ubuntu 18.04

Curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list> /etc/apt/source.list.d/mssql-release.listhttps://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

Cho Ubuntu 20.04

Curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list> /etc/apt/source.list.d/mssql-release.listhttps://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

Ubuntu 20.10

Curl https://packages.microsoft.com/config/ubuntu/20.10/prod.list> /etc/apt/source.list.d/mssql-release.listhttps://packages.microsoft.com/config/ubuntu/20.10/prod.list > /etc/apt/sources.list.d/mssql-release.list

Cập nhật apt cahe

Cài đặt Microsoft ODBC

apt-get install-AMMSODBCSQL17-get install-ymsodbcsql17

Tùy chọn: Đối với BCP và SQLCMD

apt-get install-AMMSSQL-tools-get install-ymssql-tools

echo'Export path = "$ path:/opt/mssql-tools/bin" '>> ~/.bashrc'export PATH="$PATH:/opt/mssql-tools/bin"'>>~/.bashrc

source~/.bashrc~/.bashrc

apt-get install-yunixodbc-dev-get install-yunixodbc-dev

Bây giờ mô -đun PHP MS SQL sẽ hoạt động. Bạn có thể tìm thấy mã PHP mẫu tại

https://gist.github.com/serverok/456b3d1d7295463df42c9822e8db3e5b https://github.com/microsoft/msphpsql/blob/master/sample/pdo_s
https://github.com/microsoft/msphpsql/blob/master/sample/pdo_sqlsrv_sample.php

Đây là tài liệu của Microsoft

https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/connect/php/installation-tutorial-linux-mac?view=sql-server-ver15

Xem PHP