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 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 |