背景
新入職一家公司,要求必須使用寶塔環境,由於個人筆記本是macbookpro,對於寶塔相容性不是很好就在本地搭建了一個環境,開發的專案甲方要求的資料庫是SqlServer,巧的是我安裝的php版本自帶,省了好多功夫。但是在開發過程中發現了好多問題,model例項toJson的時候報Date missing錯誤,資料庫取出的日期格式錯誤等等一系列問題,沒辦法只能和其他同事同步開發環境了,準備在 docker上映象一個寶塔出來;說幹就幹,docker的安裝請參考文件。
映象寶塔
docker run -tid --name baota -p 80:80 -p 443:443 -p 8888:8888 -p 1433:1433 -p 3306:3306 -p 6379:6379 -p 8000:8000 -p 8080:8080 --privileged=true --shm-size=1g --restart always -v ~/wwwroot:/www/wwwroot pch18/baota:clear
倉庫地址:hub.docker.com/r/pch18/baota
~/wwwroot指的是本機目錄可自行更換。
映象安裝成功之後在瀏覽器位址列輸入:localhost:8888 進入寶塔頁面,預設賬戶:unsername,密碼:password,在頁面中自行安裝php、nginx等軟體;注意:要使用laravel框架要解除一些禁用函式,具體的我就不做贅訴了。
接下來給PHP安裝SqlServer擴充套件;此方法安裝php7以上的版本,其他版本對應自行到官網查詢。
1、進入寶塔容器
docker exec -it baota bash
2、加入微軟的源
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo
如果發現這個連結失效了,可以到packages.microsoft.com/config/rhel... 查詢
3、防止衝突先解除安裝原有版本,可跳過
yum remove unixODBC
4、安裝驅動
yum install msodbcsql mssql-tools unixODBC-devel
5、下載pdo_sqlsrv擴充套件包
wget http://pecl.php.net/get/pdo_sqlsrv-5.4.0preview.tgz
5.3.0支援php7以上的版本,可自行選擇版本
下載pdo_sqlsrv擴包 pecl.php.net/package/pdo_sqlsrv
6、解壓擴充套件包並進入解壓目錄
tar -zxvf pdo_sqlsrv-5.4.0preview.tgz
cd pdo_sqlsrv-5.4.0preview
7、解析配置並安裝
/www/server/php/72/bin/phpize
./configure --with-php-config=/www/server/php/72/bin/php-config
make && make install
注意安裝的路徑與php版本
8、在php.ini中加入擴充套件
開啟php.ini 查詢”extension=”,在最後一個後面加上 extension = pdo_sqlsrv.so 也可執行shell
echo "extension = pdo_sqlsrv.so" >> /www/server/php/72/etc/php.ini
9、重啟php並檢視擴充套件。
10、補充
docker stop baota # 停止容器
docker start baota # 啟動容器
docker rm baota # 刪除容器,慎用容器刪除後需重灌
本作品採用《CC 協議》,轉載必須註明作者和本文連結