nphp 连接mysql_NexusPHP 建站优化 (3) 升级NPHP到PHP 7(作者在线答疑:找前辈,)

因为NexusPHP较早就停止维护,所以官方源码基本只能停留在PHP5.3-5.6版本使用,无法使用PHP7,然而随着PHP5.x(甚至PHP7.0)已经完全停止维护,势必有必要将NPHP推进到PHP7.x。然而主要阻碍这种推进的原因是因为:Mysql库在PHP7中不存在,必须更换到 Mysqli库。

Memcache库在PHP7出现兼容性问题,需要调整连接代码,或更换到 Memcached库 或者 Redis库。

Github或其他开源代码库中没有PHP7版本的NexusPHP。

基于以上原因,本文给出相关方法实现:使用psr-4相关方法,加载/classes目录中库文件。

替换Cache组件的后端为Redis。

使用单例模式的Mysqli wrapper组件替换原Mysql库相关方法,将Mysql连接改成只有第一次执行query或相关方法时才连接,避免NPHP遭受CC攻击时,大量连接请求直接拖垮Mysql导致服务不可用;并提供stmt方法支持,可以通过更换写法的形式组件将NPHP的real_query实现改成stmt实现,防止SQL注入。

移除PHP 7中不存在的相关方法,例如 get_magic_quotes_gpc 等。

以下讲解和代码patch均基于本人fork的官方源码 Rhilip/NexusPHP(v1.5.beta5.20120707),不提供除本文外的任何形式的说明以及免费讲解。

请注意:可以使用该库 MySQL wrapper for MySQLi ,快速提供mysqli库在mysql方法名下的支持,但因为其过于简单,且无法使用到stmt特性&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一款不错的NexusPHP官方版源码 v1.5源码,该源码也是最新版本的,BitTorrent private tracker scripts written in PHP. Email xiazuojie AT gmail.com for paid support. BitTorrent私有种子服务器PHP程序,邮件 xiazuojie AT gmail.com 获取付费支持。 安装环境配置: 配置环境可以选用apache+php+Mysql+memcache,推荐linux环境,代码执行效率更高。作者代码所提供的安装介绍也是在linux环境下的,而且全是英文介绍,这让我这六级不过的情何以堪啊,小小的鄙视下。。。 Windows下推荐win2003,如果你对PHP有一定了解,可以自己动手搭建IIS或apache+PHP+MysqL+memcache的环境,具体教程可以google。不过这种方法很繁琐,经常会出莫名其妙的错误,你要有心理的准备。 最好的方式是选用环境集成包,比如Apmserv5.2.6功能很全,支持apache+php+mysql+memcache,还有一个集成包,nginx+php+mysql+memcache,这个集成包相当简陋,只是各种包的聚合,没有控制界面和控制面板,使用起来很不方便。这应该是众多集成包里唯一两个支持memcache的集成包了。 好了,环境搭建完毕,解压程序包,然后导入数据库文件,(根目录_db下的dbstructure.sql文件)导入完毕后修改配置文件,在config文件下下面有一个allconfig.php 的文件,修改下面的内容: SITENAME => 站点名称 baseURL => 网站URL announce_url => localhost/announce.php(announce的url地址) mysql_host => MySQL主机 mysql_user=> 数据库用户名 mysql_pass => 数据库密码 mysql_db => 数据库名 以上无误的话应该就可以登陆NexusPHP的界面了,赶紧注册管理员账号吧。 好了,注册好用户名后,接着进入数据库管理(phpMyAdmin),在users表里面到你注册的用户,编辑它的class属性为16,便是主管权限了。 还可以通过下面的方法设置: 1.使用正常方式在网站注册一个新用户,假设用户名为admin。 2.输入以下命令进入MySQL命令行管理工具: mysql -u root -p nexusrocks -h localhost 注意:将’root’,’nexusrocks’,’localhost’分别替换成你的MySQL用户名、密码、主机地址。 2.在MySQL命令行管理工具输入以下命令: USE nexus; UPDATE users SET class=’16′ WHERE username=’admin’; 注意:将以上命令中的’nexus’替换成你的数据库名,将’admin’替换成你注册的用户名。 3.退出MySQL命令行管理工具: 到这里PT基本上就架设完毕了,现在只需要利用主管帐号对站点进行设置和调整就可以了

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值