CentOS7版本:php
[root@localhost ~]# cat /etc/redhat-releasehtml
CentOS Linux release 7.6.1810 (Core)mysql
安裝httpdc++
[root@localhost ~]# yum install httpdweb
啓動httpdsql
[root@localhost ~]# service httpd start數據庫
此時能夠訪問默認網站,默認路徑爲:apache
/var/www/htmlubuntu
設置爲開機啓動windows
[root@localhost ~]# systemctl enable httpd
安裝PHP7.2
[root@localhost ~]# yum install epel-release –y
[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
清除歷史版本
[root@localhost ~]# yum -y remove php*
安裝擴展包
[root@localhost ~]# yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel
安裝豪華擴展包
[root@localhost ~]# yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
啓動PHP
[root@localhost ~]# systemctl enable php-fpm.service
[root@localhost ~]# systemctl start php-fpm.service
測試
[root@localhost ~]# cd /var/www/html
[root@localhost html]# ls
[root@localhost html]# vi index.php
[root@localhost html]# service httpd restart
Index.php內容:
<?php
Phpinfo();
能夠正常訪問PHP頁面了。
安裝編譯環境
[root@localhost freetds-1.1.15]# yum install gcc g++
安裝軟件的時候,提示make: command not found
Centos中沒法使用make,make install,命令 make: command not found
make是gcc的編譯器,VPS買來一定要安裝
安裝:
yum -y install gcc automake autoconf libtool make
安裝g++:
yum install gcc gcc-c++
安裝文件工具
[root@localhost ~]# yum install lrzsz
安裝freetds
[root@localhost ~]# yum install wget
[root@localhost ~]# wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz
[root@localhost ~]# tar -zxvf freetds-patched.tar.gz
[root@localhost ~]# cd freetds-*
[root@localhost freetds-1.1.15]# ./configure --prefix=/usr/local/freetds --with-tdsver=auto --enable-msdblib --with-gnu-ld --enable-shared --enable-static
[root@localhost ~]# make && make install
安裝pdo_dblib
[root@localhost ~]# wget http://cn2.php.net/distributions/php-7.2.21.tar.gz
下載比較慢,可下載後上傳
[root@localhost ~]# tar -zxvf php-7.2.21.tar.gz
[root@localhost ~]# cd php-*/ext/pdo_dblib
[root@localhost pdo_dblib]# /usr/local/php/bin/phpize
[root@localhost pdo_dblib]# /usr/bin/phpize
[root@localhost pdo_dblib]# ./configure --with-php-config=/usr/bin/php-config --with-pdo-dblib=/usr/local/freetds
[root@localhost pdo_dblib]# make && make install
配置PHP
在/etc/php.d/目錄下創建文件
[root@localhost php.d]# vi pdo_dblib.ini
; Enable pdo_dblib extension module
extension=pdo_dblib.so
此時能夠使用dblib來訪問SQL Server了。
加入微軟源
[root@localhost ~]# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo
[root@localhost ~]# yum install msodbcsql mssql-tools unixODBC-devel
[root@localhost ~]# wget https://pecl.php.net/get/ pdo_sqlsrv-5.6.1.tgz
[root@localhost ~]# tar -zxvf pdo_sqlsrv-5.6.1.tgz
[root@localhost ~]# cd pdo_sqlsrv-5.6.1
[root@localhost pdo_sqlsrv-5.6.1]# phpize
[root@localhost pdo_sqlsrv-5.6.1]# ./configure --with-php-config=/usr/bin/php-config
出錯,gcc和g++要這樣安裝:
[root@localhost pdo_sqlsrv-5.6.1]# yum install gcc-c++
繼續編譯安裝
[root@localhost pdo_dblib]# make && make install
在/etc/php.d/目錄下創建文件
[root@localhost php.d]# vi pdo_sqlsrv.ini
; Enable pdo_sqlsrv extension module
extension=pdo_sqlsrv.so
測試ThinkPHP
上傳至系統至
/var/www/tp5
修改/etc/httpd/conf/httpd.conf
將DocumentRoot "/var/www/html"修改成DocumentRoot "/var/www/tp5/public"
將<Directory "/var/www/html">修改成<Directory "/var/www/tp5">
修改數據庫鏈接database.php
return [
// 數據庫類型
'type' => 'Sqlsrv',
// 服務器地址
'hostname' => '127.0.0.1',
// 數據庫名
'database' => 'BokMES',
// 用戶名
'username' => 'sa',
// 密碼
'password' => ',
// 端口
'hostport' => '',
// 鏈接dsn
'dsn' => '',
// 數據庫鏈接參數
'params' => [],
// 數據庫編碼默認採用utf8
'charset' => 'gbk',
測試
http://192.168.1.90/phpinfo.php
http://192.168.1.90/index.php/Index/index/myhello
經過!
能夠經過URL重寫隱藏應用的入口文件index.php
(也能夠是其它的入口文件,但URL重寫一般只能設置一個入口文件),下面是相關服務器的配置參考:
httpd.conf
配置文件中加載了mod_rewrite.so
模塊 (這個沒有找到,但不影響)AllowOverride None
將None
改成 All
.htaccess
文件放到應用入口文件的同級目錄下<.>IfModule mod_rewritec
+- OptionsFollowSymlinksMultiviews
RewriteEngine On
%{}!- RewriteCondREQUEST_FILENAMEd
%{}!- RewriteCondREQUEST_FILENAMEf
^(.*)./1[,,] RewriteRule$ indexphp$QSAPTL
</>IfModule
而後URL能夠直接這樣寫了:
http://192.168.1.90/index.php/index/Index/index
安裝SQL Server
[root@localhost php.d]# curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
[root@localhost php.d]# yum install -y mssql-server
[root@localhost php.d]# /opt/mssql/bin/mssql-conf setup
而後測試從windows sql server 2008 R2遷移至Linux SQL Server 2017下。
首先在windows下備份數據庫,好比是a.bak,將備份文件上傳至Linux。Linux默認數據路徑是/var/opt/mssql/data。而後在Linux下運行命令:
RESTORE DATABASE newdbname FROM DISK = '/var/opt/mssql/data/a.bak'
WITH
MOVE 'db1' TO '/var/opt/mssql/data/newdb.mdf',
MOVE 'db1_log' TO '/var/opt/mssql/data/newdb_log.ldf', STATS = 1, REPLACE, RECOVERY
此處注意,newdbname爲新建立的數據庫名字,而db1和db2_log爲原數據庫中的邏輯數據文件的名字。
設置防火牆:
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
CentOS7防火牆相關命令:
//臨時關閉
systemctl stop firewalld
//禁止開機啓動
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
恢復成功,而後能夠用SSMS或navicat或Azure Data Studio等工具正常鏈接數據庫使用了。
安裝mssql-tools:
添加源:
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/msprod.repo
安裝:
yum install mssql-tools unixODBC-devel
添加登陸會話訪問路徑:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
source ~/.bash_profile
交互式/非登陸會話:
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
Ubuntu 1904下安裝會出現錯誤提示:
The following packages have unmet dependencies:
mssql-server : Depends: libjemalloc1 but it is not installable
Depends: libssl1.0.0 but it is not installable
須要下載安裝下面的文件:
wget http://ftp.osuosl.org/pub/ubuntu/pool/universe/j/jemalloc/libjemalloc1_3.6.0-11_amd64.deb
而後安裝
sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb
sudo dpkg -i libjemalloc1_3.6.0-11_amd64.deb
再安裝SQL Server就能夠了。