openwrt php 吃内存,openwrt 安装 php sqlite

安装PHP

PMBLOG是一个简单的静态博客程序,只需要PHP,不需要数据库的支持,这对于小内存小功耗的路由来说是再友好不过的。下面我就讲讲如何安装PMBLOG。

首先我们需要下载PHP及其相关的一些扩展。

opkg updateopkg install php5 php5-cgi php5-mod-mcrypt php5-mod-curl php5-mod-hash php5-mod-json

配置PHP

编辑php.ini文件

vi /etc/php.ini

其中将

;extension = ctype.so;extension = curl.so;extension = hash.so;extension = json.so

三个前面的;去掉,用以启用扩展

并将;date.timezone =修改为date.timezone = Asia/Shanghai,并将;doc_root="/www"修改为;doc_root="/www/root"。

如果你没有设置过系统时区的话还需要设置系统时区。打开LUCI界面,进入系统 - 系统属性 - 基本设置中将时区改为Asia/Shanghai。

最后你需要安装一个时区信息软件包,否则系统无法识别时区。

opkg install zoneinfo-asia

uhttpd配置端口转发

接着需要配置端口转发。由于默认的是LUCI占用80端口,但我比较喜欢80端口放网站,所以我将LUCI挪到了8080端口,而PHP则使用80端口。

vi /etc/config/uhttpd

将第5行的0.0.0.0:80修改为0.0.0.0:8080,

option rfc1918_filter 1这一句在前面加上#号注释掉

同时在文件末尾增加如下代码

config uhttpd web

list    listen_http 0.0.0.0:80

option  home    /www/root

option  cgi_prefix  /cgi-bin

option  index_page  "index.html index.php"

list    interpreter ".php=/usr/bin/php-cgi"

保存后重启uhttpd

/etc/init.d/uhttpd restart

上传PMBLOG程序

上传PMBLOG程序到/www/root文件夹下,并按照HowToInstall的指导配置好config.php文件。

WEB访问PMBLOG程序目录即可大功告成!

-------------------------------------------------------------------------------------------  底下是比较复杂的,多安装sqlite  。一般上面的就可以实现了,亲测可用

2、安装程序

php5

php5-cgi

php5-mod-ctype

php5-mod-hash

php5-mod-pdo

php5-mod-pdo-sqlite

php5-mod-session

php5-mod-sqlite

php5-mod-sqlite3

php5-mod-tokenizer

php5-mod-xml

编辑/etc/opkg.conf,加入如下一行:

dest udisk /mnt/sda1/ipk

使用下面命令把软件安装到U盘:

opkg update

opkg install -d udisk php5 php5-cgi php5-mod-ctype php5-mod-hash php5-mod-pdo php5-mod-pdo-sqlite php5-mod-session php5-mod-sqlite php5-mod-sqlite3 php5-mod-tokenizer php5-mod-xml

opkg install -d udisk php5-mod-curl php5-mod-gd php5-mod-mbstring php5-mod-mcrypt php5-mod-ftp php5-mod-openssl php5-mod-json php5-mod-iconv

opkg install -d udisk zoneinfo-core zoneinfo-asia zoneinfo-simple

建立软连接,不然会找不到对应的库和配置文件:

cd /etc

ln -s /mnt/sda1/ipk/etc/php.ini php.ini

ln -s /mnt/sda1/ipk/etc/php5 php5

cd /usr/lib

ln -s /mnt/sda1/ipk/usr/lib/libpcre.so.0.0.1 libpcre.so.0

ln -s /mnt/sda1/ipk/usr/lib/libpcreposix.so.0.0.0 libpcreposix.so.0

ln -s /mnt/sda1/ipk/usr/lib/libsqlite.so.0.8.6 libsqlite.so.0

ln -s /mnt/sda1/ipk/usr/lib/libsqlite3.so.0.8.6 libsqlite3.so.0

ln -s /mnt/sda1/ipk/usr/lib/libxml2.so.2.7.8 libxml2.so.2

ln -s /mnt/sda1/ipk/usr/lib/libz.so.1.2.3 libz.so

ln -s /mnt/sda1/ipk/usr/lib/php php

cd /usr/bin

ln -s /mnt/sda1/ipk/usr/bin/php-cgi php-cgi

3、配置php

修改/etc/php.ini。

去掉下面行前面注释:

extension=curl.so

extension=mbstring.so

extension=gd.so

extension=ctype.so

extension=hash.so

json

ioncvextension=pdo.so

extension=pdo_sqlite.so

extension=sqlite.so

extension=session.so

extension=tokenizer.so

extension=xml.so

extension=xmlreader.so

extension=xmlwriter.so

修改行:

short_open_tag = On

;doc_root = "/www"

date.timezone = Asia/Shanghai

4、配置uhttpd

在/etc/config/uhttpd最后添加:

config uhttpd web

list listen_http 0.0.0.0:88

option home /mnt/sda1/ipk/www

option index_page index.php

list interpreter ".php=/usr/bin/php-cgi"

88为访问端口,/mnt/overlay/www为放置网页的目录,这些都可以修改。

然后重启uhttpd:

/etc/init.d/uhttpd restart

5、环境测试

先写个简单的index.php网页上传到/mnt/sda1/ipk/www测试部署情况。

index.php代码示例:

WEB环境部署测试

Congratulations on your success.

服务器信息
主机名=$_SERVER['SERVER_NAME']?>
主机地址=$_SERVER['SERVER_ADDR'].":".$_SERVER['SERVER_PORT']?>
服务器软件=$_SERVER['SERVER_SOFTWARE']?>
网站主目录=$_SERVER["DOCUMENT_ROOT"]?>
SQLite 连接测试
SQLite=function_exists("sqlite_close")?YES." / ".sqlite_libversion():NO?>
连接数据库(内存) $db = sqlite_open(":memory:");?>=($db?"连接正常":"连接失败");?> sqlite_close ($db);?>

上面安装如果遇到   Timezone database is corrupt    we selected the timezone 'UTC'问题   按以下方法处理

把上面的

opkg remove -d udisk php5 php5-cgi php5-mod-ctype php5-mod-hash php5-mod-pdo php5-mod-pdo-sqlite php5-mod-session php5-mod-sqlite php5-mod-sqlite3 php5-mod-tokenizer php5-mod-xml php5-mod-curl php5-mod-gd php5-mod-mbstring php5-mod-mcrypt php5-mod-ftp php5-mod-openssl php5-mod-json php5-mod-iconv

opkg remove -d udisk zoneinfo-core zoneinfo-asia zoneinfo-simple

opkg install  zoneinfo-core zoneinfo-asia zoneinfo-simple

opkg install  php5 php5-cgi php5-mod-ctype php5-mod-hash php5-mod-pdo php5-mod-pdo-sqlite php5-mod-session php5-mod-sqlite php5-mod-sqlite3 php5-mod-tokenizer php5-mod-xml php5-mod-curl php5-mod-gd php5-mod-mbstring php5-mod-mcrypt php5-mod-ftp php5-mod-openssl php5-mod-json php5-mod-iconv  php5-mod-sockets

extension=ctype.so

extension=curl.so

;extension=dom.so

;extension=exif.so

extension=ftp.so

extension=gd.so

;extension=gmp.so

extension=hash.so

extension=iconv.so

extension=json.so

;extension=ldap.so

extension=mbstring.so

extension=mcrypt.so

;extension=mysql.so

extension=openssl.so

;extension=pcre.so

extension=pdo.so

;extension=pdo-mysql.so

;extension=pdo-pgsql.so

extension=pdo_sqlite.so

;extension=pgsql.so

extension=session.so

;extension=soap.so

extension=sockets.so

extension=sqlite.so

extension=sqlite3.so

extension=tokenizer.so

extension=xml.so

;extension=xmlreader.so

;extension=xmlwriter.so

对,就是重新安装到 内存中,不安装到u盘上,装U盘就是一个坑,php装完总共不到10m

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值