PHP+MySQL代碼部署在Linux(Ubuntu)上注意事項


最近幫同學做一個網站,同學買的是阿里雲服務器,Linux發行版是Ubuntu12.04。我在本地把程序寫好,都調試好了。然后他讓我自己發布和部署。之前在大學里上操作系統課程時,也用過一段時間的Ubuntu,那個時候應該是10.04。並且是虛擬機,有界面的。現在是服務器版本,只有命令行,而且自己要使用終端模擬器鏈接。

所以就搜索資料,看哪些工具好用,而已方便。找了一圈,發現下面2個工具結合起來蠻好的。文件上傳和權限改變工具:WinSCP,另外一個就是命令行終端模擬器:Xshell。這2個工具順利幫我解決了這次在Linux上發布和部署PHP代碼的問題。軟件圖標如下:

image

注意事項1:LAMP安裝過程了,除了順序安裝Apache,MySQL和PHP。還要安裝PHP對Apache對MySQL的支持。

同學告訴我,他已經安裝了Apache,MySQL5.5和PHP。但是我的代碼放到/var/www目錄下,只要有調用MySQL的頁面都運行不了,顯示500服務器內部錯誤。這個比較糾結,然后一行一行的注釋,發現下面這行代碼無法執行:

$databaseConnection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);我就問他,你確定裝好了PHP,MySQL5.5。他說肯定呀!都是按照步驟安裝的。開始我們都以為mysqli的擴展沒有安裝,就在那里改php.ini里面extension。改了,然后重啟了幾次Apache2和MySQL,都不起作用。后來我記得在Windows上配置時,要在PHP里面加載MySQL的dll。那在Linux系統中也需要的吧!然后就問他這個裝了沒有,他說應該沒有。然后我們就搜索,發現確實需要裝。命令是:

sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
#重啟Apache
sudo /etc/init.d/apache2 restart

  

 注意事項2:MySQL在Linux上默認對表名是大小寫敏感的。 開始以為大功告成,可以洗澡睡覺了。發現點了幾個頁面,又有頁面500錯誤了。怪了,這下又是什么問題。注釋和運行了半天,發現有一條sql語句的程序代碼,運行不了。SELECT * FROM USERS WHER id=?; 這是一條非常簡單的sql語句呀!怎么跑不動呢?開始以為是bind_param(‘i’$user_id),這里綁定數據有問題。后來想到之前,公司項目中,同事從連接Oracle數據庫代碼搬遷到連接MySQL數據庫時,出現表名大小寫有問題。我突然想到是不是也有這個問題,把USERS改成users就ok了。后面查找資料得出,MySQL在Linux默認對表名是大小寫敏感的。

 

總結如下:

1.Web開發工程師,不管前端,后台還是數據庫,都需要了解一些Linux相關知識。因為x86 linux服務器是未來的趨勢,而且公司的現有系統都慢慢的往Linux上遷移。

2.遇到問題,一方面除了在Google上搜索,有時在平時工作中積累的經驗也非常的寶貴。所以平時需要把一些錯誤的經驗,或者問題的解決辦法記錄下來,這樣可以提升解決問題的能力。

  

參考鏈接:

1.WinSCP:http://download.pchome.net/internet/ftp/detail-34064.html

2.Xshell4:http://www.onlinedown.net/soft/36383.htm 官網比較難打開,我是在太平洋下載的。而已它在安裝的時候,可以選擇Xshell4 for home/school。這個是免費的。

3.在Centos下安裝LAMP環境:http://www.cactifans.org/linux/324.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM