前文讲到Windows安装宝塔面板搭建php服务器:
windows安装宝塔面板搭建PHP服务器测试PHP文件运行
缺点是要运行ysp.php就需要电脑开机,因此建议软路由如openwrt、istores等可以直接安装php,基本可以24小时运行。
本文以软路由openwrt,如没有相关硬件可以略过本文。欢迎收藏转发给需要的。
建议使用软件:ssh工具(xshell)、文件传送工具(winscp),当然也可以全部命令操作。
openwrt搭建php并进行测试的视频记录:
图文教程:安装软件有luci页面安装和命令安装两种方式,可以二选一,建议可以直接luci页面进行安装。以下斜体红色为我系统安装时的版本或路径,在实际操作中可能和我的不一样,替换成自己的就好。
一、openwrt安装php环境
1、安装php(目前版本是php8)
luci页面安装:【系统】➥【软件包】➥【刷新列表】➥过滤器输入php,在可用软件包找到php8-cgi后,点击【安装】。(搜索出来可能是其他版本如php7-cgi,选择合适自己的就好)
命令安装:
opkg update
opkg install php8
opkg install php8-cgi
二、配置uhttpd
1、winscp登录路由器,找到/etc/config/uhttpd,增加以下网站配置代码
config uhttpd web
8080 :
option home '/www'
option index_page index.php
/usr/bin/php8-cgi" =
配置说明:
8080:是设定访问的端口,默认是80,也可以改为其他。
/www:是默认网站目录,也可以改成其他,上传文件的时候上传至对应文件夹就可以。
/usr/bin/php8-cgi:php8为安装的版本,如安装的是php7,则这里需改成php7。
3、重启uhttpd:
luci页面重启uHTTPd:【系统】 ➥ 【启动项】 找到uhttpd,点击【重启】
命令重启uhttpd
/etc/init.d/uhttpd restart
三、测试php是否安装成功
安装完成php后,用winscp登录路由器,进入网站目录/www/文件夹,在该文件夹下新建一个index.php。(也可以直接上传我的index.php)
文件内容代码如下:
phpinfo();
打开http://192.168.2.1:8080 如出现如下php页面则表示php安装成功(192.168.2.1为我的路由器地址,8080为之前设置的端口号)
四、测试ysp.php或cqyx.php
1、上传文件至网站目录
用winscp将ysp.php和cqyx.php上传至网站/www/目录:
2、测试ysp.php和cqyx.php
接下来浏览器打开:http://192.168.2.1:8080/ysp.php?id=cctv1,如出现下载cctv1.m3u8,则可以正常在播放器打开cctv1节目。
五、相关报错解决方法
以下为我在安装完php打开http://192.168.2.1:8080/ysp.php?id=cctv1出现的报错信息和解决方法:
1、报错信息:Fatal error: Uncaught Error: Call to undefined function openssl_encrypt() in /www/ysp.php:124 Stack trace: #0 {main} thrown in /www/ysp.php on line 124
出现该错误是由于PHP环境缺少OpenSSL导致的。openssl_encrypt() 函数是 OpenSSL 扩展提供的函数,用于加密数据。要解决这个问题,需要安装 OpenSSL :
luci页面安装:系统 ➥ 软件包 ➥ 刷新列表 ➥ 下载并安装软件包: 输入php8-mod-openssl,确认就可以安装成功了
命令安装:OpenSSL
opkg update
opkg install php8-mod-openssl
2、出现报错:Fatal error: Uncaught Error: Call to undefined function curl_init() in /www/ysp.php:157 Stack trace: #0 {main} thrown in /www/ysp.php on line 157
这个错误表明在PHP脚本中调用了curl_init()函数,但是系统中的PHP环境缺少cURL 。cURL 是一个用于在 PHP 中进行 URL 数据传输的功能强大且常用的扩展。要解决这个问题,需要安装cURL:
luci页面安装:系统 ➥ 软件包 ➥ 刷新列表 ➥ 下载并安装软件包: 输入php8-mod-curl,确认就可以安装成功了
命令安装:cURL 扩展
opkg update
opkg install php8-mod-curl
浏览器打开http://192.168.2.1:8080/ysp.php?id=cctv1如出现下载cctv1.m3u8则表示可以正常运行ysp.php了。
最后将ysp.txt中的地址替换为自己的192.168.2.1:8080就可以了。
题外:本次安装php环境共安装4个,即php8、php8-cgi、php8-mod-openssl和php8-mod-curl,安装前空闲空间14.6mb,安装完后空闲空间12.61mb,占用空间2mb不到。
六、php服务器扩展应用
1、上传txt转m3u工具
文件来源于fanmingming:https://github.com/fanmingming/live:
txt2m3u.html (可以将txt2m3u.html的名字改简单点,如t2m.html等等)
将txt2m3u.html上传至网站目录/www/
浏览器输入http://192.168.2.1:8080/txt2m3u.html,在TXT格式源输入要转换的TXT节目,然后点击【转换格式】就可以转换为调用fanmingming的epg和台标的m3u格式的列表了。
2、上传播放列表供本地局域网播放器调用
可以上传播放列表至网站目录,供本地局域网访问,如上传ysp.txt和ysp.m3u至/www/
局域网播放设备可以调用http://192.168.2.1:8080/ysp.txt和http://192.168.2.1:8080/ysp.m3u进行播放了
3、通过DDNS+端口转发可以绑定域名,外网通过域名访问本地网站和服务器了。详见之前教程:
经验:dynv6免费二级域名注册、openwrt动态DNS解析配置说明
经验:小白记录阿里云域名注册、openwrt 动态DNS(DDNS)配置成功
4、可以安装数据库MySQL等,搭建wordpress等php程序,但是一般路由器存储空间不够,不是那么建议。
七、相关测试文件下载
提供测试文件:index.php、ysp.php、cqyx.php、ysp.txt、txt2m3u.html
下载地址:
扫码关注公众号,回复【240420】可获取下载链接
欢迎扫码关注本公众号,后台发消息给我,我会即时进行回复的哦。
声明:除原创内容及特别说明之外,推送稿件文字及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。