[請益] 如何在Debian使用php存取sqlserver[8/14edit]
先報告一下環境
主機是MOXA UC-8112 , CPU是ARMv7 Cortex-A8
(不確定有沒有影響還是先列了)
Debian 8
--php安裝部份
現在只是想裝 php7 ,然後基本指令就遇到問題了 '_`
我主要是參考微軟的教學頁 https://tinyurl.com/y9mh4x3s
在執行這一行的時候遇到問題
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
系統回復
wget: not an http or ftp url: https://packages.sury.org/php/apt.gpg
請問這何解?
--sqlsrv安裝部份
本來在php5.6的時候是靠 mssql_connect 來連線
但在php顯示select出來的資料時,中文部份都會變成問號,google過的解法都不行..
所以才想說改用pdo或sqlsrv等其他方式,但安裝sqlsrv也是一直遇到問題
沒有任何一篇教學或問答是我照著做可以完成的 '_`..
請問有沒有人知道在debian 8上面要用php來讀取sqlserver的安裝流程及使用方法?
php5.6或php7都可以,用pdo或sqlsrv都行..
另外像這一類的安裝,跟主機的CPU會有關係嗎?
之前要讓MQTT可以接受websocket的通訊也是找了老半天
到最後終於裝好了,但自以為成功的安裝流程裝到新機器上卻行不通
在linux系統上面只是要裝個軟體都這麼困難嗎 orz
--
◣◣◣◣◢ ██████◣██████◣ 角色名稱:Guner.RAIN
◢ ◣◣◣◣ █▊█ █▊█ █▊█ █▊█ 職業:Launcher
▍◥ ▍ꈠ ███ ███ ███ █▊█ 等級:41
▇▇▇▇ˍζ █▊█ █ █◤█▊████◤ 出沒地:蜘蛛足球場
/▼\▃ 歡迎加入Arad的世界 出沒頻道:Ch.FIFA
◤◢▂▂ ▆ 戰略高手→電玩 Σ虛擬 線上 遨遊→Arad
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.169.245
※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1532677807.A.AC1.html
推
07/27 19:03,
6年前
, 1F
07/27 19:03, 1F
我是看微軟的教學頁面照著做,上面就說要用wget Q_Q
→
07/27 19:07,
6年前
, 2F
07/27 19:07, 2F
→
07/27 19:07,
6年前
, 3F
07/27 19:07, 3F
→
07/27 19:09,
6年前
, 4F
07/27 19:09, 4F
sqlserver並不是裝在linux上,只是想連線過去做CRUD
這樣會算很少見嗎@_@
推
07/27 22:18,
6年前
, 5F
07/27 22:18, 5F
→
07/27 22:18,
6年前
, 6F
07/27 22:18, 6F
→
07/27 22:18,
6年前
, 7F
07/27 22:18, 7F
之前有在別的地方看到一樣的內容,但試完好像失敗
→
07/28 06:21,
6年前
, 8F
07/28 06:21, 8F
我覺得在linux上面跑什麼都很坑…
推
07/30 10:50,
6年前
, 9F
07/30 10:50, 9F
→
07/30 10:51,
6年前
, 10F
07/30 10:51, 10F
→
07/30 10:55,
6年前
, 11F
07/30 10:55, 11F
BusyBox v1.22.1 (Debian 1:1.22.0-9+deb8u1) multi-call binary.
不知道要怎麼更新 @_@
執行apt-get upgrade wget看似有下載一些東西,但版本並沒有變
也還是一樣不能下載https
→
07/30 20:21,
6年前
, 12F
07/30 20:21, 12F
謝謝你~這招可行
其實我後來直接開browser下載後再把檔案上傳到linux了
但想寫安裝文件覺得應該找一下不這麼偏門的方法
※ 編輯: pttrAin (114.39.222.156), 08/02/2018 12:39:36
測試虛擬機在debian9執行wget是可以下載的 '_`
wget -V的版本是寫 GNU Wget 1.18 built on linux-gnu.
不知道怎麼把debian8的wget弄成這個版本…
※ 編輯: pttrAin (114.39.222.156), 08/02/2018 12:59:21
推
08/06 18:18,
6年前
, 13F
08/06 18:18, 13F
我後來直接用make install的方式裝GNU版本的wget就可以了
→
08/06 18:22,
6年前
, 14F
08/06 18:22, 14F
→
08/06 18:23,
6年前
, 15F
08/06 18:23, 15F
→
08/06 18:23,
6年前
, 16F
08/06 18:23, 16F
這個case是我要去連別人的資料庫,所以…沒有辦法 '_` 選擇權不在我
→
08/06 18:24,
6年前
, 17F
08/06 18:24, 17F
→
08/06 18:24,
6年前
, 18F
08/06 18:24, 18F
微軟教學不能用的方式應該是因為作業系統位元的關係,還沒機會測試
但總之看起來是沒辦法用sqlsrv
後來用freetds弄好了
提供安裝步驟供參考(在乾淨的系統下開始做)
apt-update
apt-get install -y curl apt-transport-https
curl https://packages.sury.org/php/apt.gpg > /etc/apt/trusted.gpg.d/php.gpg
echo "deb https://packages.sury.org/php/ jessie main" >
/etc/apt/sources.list.d/php.list
apt-update
apt-get install -y php7.2 php7.2-dev php7.2-xml php7.2-sybase php7.2-odbc
apt-get install -y freetds-bin freetds-common
apt-get install -y tdsodbc odbcinst unixodbc unixodbc-dev
mv /etc/odbcinst.ini /etc/odbcinst.ini.bak
cp /usr/share/tdsodbc/odbcinst.ini /etc/
測試:
將以下文字複製貼上到 testdb.php ( 放在/var/www/html/ )
```
<?php
ini_set("display_errors", "On");
try {
//connection params 依實際要連線的server來修改連線參數
$dbCon = new PDO('odbc:Driver=FreeTDS; Server=ip; Port=portNumber;
Database=dbName; TDS_Version=8.0; ClientCharset=UTF-8', 'sa', 'sa');
//test query
$result = $dbCon->query('SELECT * FROM dbo.tableName');
//show the results
foreach ($result as $row)
{
print_r( $row );
print_r('</br>');
}
//close the connection
$dbCon = null;
} catch (PDOException $e) {
//show exception
echo $e->getMessage();
}
?>
```
→
08/06 18:25,
6年前
, 19F
08/06 18:25, 19F
→
08/06 18:25,
6年前
, 20F
08/06 18:25, 20F
我蠻認同在linux上面用MS的東西很坑這件事…
像要在linux上用sqlsrv就是google不到完整可行的方案 :(
除此之外我近年都還算喜歡MS
※ 編輯: pttrAin (36.236.151.26), 08/14/2018 11:07:39
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章