openwrt lighttpd+php5+mysql_Openwrt下安裝Lighttpd+PHP+Mysql總結

Openwrt下安裝Lighttpd+PHP+Mysql總結

注意:記得給開發板設置好網絡,另外,開發板和虛擬機下操作可能不同,最好買個開發板吧,我在虛擬機上給相關系統裝mysql出了很多問題還是進不了mysql,但是在板子上所有操作一次性通過,僅僅是在最后寫php5數據庫操作測試程序時出了一點問題,這個問題我在文章最后進行了說明。

一、安裝LightHttpd

1.安裝命令

opkg update

opkg install lighttpd lighttpd-mod-cgi

2.編輯/etc/lighttpd/lighttpd.conf文件

vim/etc/lighttpd/lighttpd.conf

更改后結果:

82ec0c42e651bb79fcc55edf7ed10198.png

3.創建/srv/www目錄

mkdir /srv/www

4.啟動lighttpd和設置lighttpd服務隨開機啟動

/etc/init.d/lighttpd start

/etc/init.d/lighttpd enable

二、安裝PHP

1.安裝PHP

opkg update

opkg install php5 php5-cgi php5-mod-session

2.編輯/etc/php.ini:設置doc_root =“/srv/www”

c07317212b2c93de97fdebe113485656.png

3.編輯/etc/lighttpd/conf.d/30-cgi.conf文件,添加內容如圖所示:

vim/etc/lighttpd/conf.d/30-cgi.conf

注意:python行尾記得加逗號。

76b55f335bfd9f8787bd9a9ba34a22f8.png

4.重啟Lighttpd

/etc/init.d/lighttpd restart

5.使用如下命令在/srv/www目錄下簡單添加一個php文件,以此來測試PHP是否安裝成功:(別敲錯命令)

echo"<?php phpinfo(); ?>" > /srv/www/index.php

6.最后,在瀏覽器中輸入網址http://192.168.8.66:81/index.php(你的板子設置的IP和你剛才改的端口號81以及剛才用命令生成的文件名index.php),以此來查看PHP和http是否安裝成功。如果成功如下圖所示:

7749cb28fea3b0cec2b673acf525d88b.png

三、安裝MYSQL

1.安裝mysql及相關組件

opkg install libpthread libncurses libreadline mysql-server

2.初始化mysql(很重要,命令不要敲錯)

sed -i 's,^datadir.*,datadir = "/srv/mysql",g' /etc/my.cnf

sed -i 's,^tmpdir.*,tmpdir = "/tmp",g' /etc/my.cnf

mkdir -p /srv/mysql

mysql_install_db--force

/etc/init.d/mysqld start

/etc/init.d/mysqld enable

mysqladmin -u root password'123'

3.安裝關聯組件

opkg update

opkg install php5-mod-mysql

4.將mysql.so配置到/etc/php.ini中

sed-i 's,;extension=mysql.so,extension=mysql.so,g' /etc/php.ini

5.安裝如下組件,使PHP可以使用Mysqli

opkg update

opkg install php5-mod-mysqli

6.將mysqli.so配置到/etc/php.ini中(注意mysqli不是mysql,和上面的步驟沒有重復,這是因為php5中數據庫操作變化引起的)

sed-i 's,;extension=mysqli.so,extension=mysqli.so,g' /etc/php.ini

7.到/etc/my.conf下查看你的數據庫套接字文件地址,如下圖所示:

vim /etc/my.conf

bc81c408337fd14eb6fe9d4cbeb4bcca.png

8.配置/etc/php.ini文件,修改[MySQL]下的內容,並把[MySQL]的內容復制一份,並修改成MySQLi,如下圖所示:(不要改錯了,和你之前設置的一樣)

vim/etc/php.ini

021b1690014e92684962e6b39e3bcf9a.png

4129828ba922ac09c0970750a28cc03a.png

到此,MySQL就配置完了。然后測試一下即可。

四、測試及注意事項

進入mysql下查看一下,看你有什么數據庫,順便驗證一下mysql是否能用,然后寫一個php文件測試一下能不能通過PHP鏈接到數據庫,如果都沒有問題,那么說明安裝配置成功。

能否進入mysql,結果如下:

f9fecd2231c0ed4b0b75064dcd89fea7.png

1b700d60b5f80fb3a87ad7e6dfc8ac95.png

那么我們可以測試一下是否能用php鏈接上mysql數據庫,能打印成功即可,代碼如下:

$db = new mysqli('127.0.0.1','root','123','mysql');

if(mysqli_connect_errno())

{

echo '';

echo 'Error: Could not connect to database,please try later';

exit;

}

else

{

echo 'Connect database successfully.!';

echo '';

}

?>

在瀏覽器中訪問192.168.8.66:81/connect_mysql_test.php,結果如下:

3ef3046db1b24e1c5de5645883c499ec.png

注意:這里有一個問題,在寫PHP文件時,例如我上面的代碼,服務器寫的不是localhost而是127.0.0.1,這是因為問我寫localhost時會報如下錯誤:

aaacaa047f9c9df3a8c2dc469c9cfba5.png

Warning: mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket '/tmp' (146) in/srv/www/connect_mysql_test.php on line 2

Error: Could not connect to database,please try later

所以,如果你出現了上述類似錯誤,不妨試試將服務器地址改成你配置時的地址。例如我上面的地址是“127.0.0.1”,所以我將localhost改成127.0.0.1后就OK了。

對了,還有一點,PHP5不知道從什么版本開始不支持mysql了,而是mysqli了,沒辦法,面向對象的大勢不可逆啊,語言終究只是工具,哪個好用用哪個(唉?又偏題了)。如果你在寫PHP時用mysql鏈接數據庫,就會報如下錯誤:

9bd8936951cf5134fbaa3c4891c6c510.png

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in/srv/www/connect_mysql_test.php on line 2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值