|
本帖最后由 cool_angel 于 2021-3-23 09:44 编辑
使用uhttpd sqlite3和php的探索
1.uhttpd添加一个服务后,需要手动重启uhttpd的进程,/etc/init.d/uhttpd restart
2.需要手动安装php7-cgi才能使用php
- opkg update
- opkg intall php7 php7-cgi
复制代码 在uhttp界面配置cgi为 CGI 文件类型处理器
3.如果主目录不是/www,需要在/etc/php.ini中注释掉 doc_root行和usr_dir行,否则提示no file specified
4. 安装sqlite3准备,下面三个文件和当前的版本冲突,需要更名
将/usb/lib/libsqlite3.so
将/usb/lib/libsqlite3.so.0
将/usb/lib/libsqlite3.so.0.8.6
更名,备份
5.安装sqlite3
- opkg update
- opkg intall sqlite3-cli
复制代码 6.测试php连接sqlite
- <?php
- class MyDB extends SQLite3
- {
- function __construct()
- {
- $this->open('test.db');
- }
- }
- $db = new MyDB();
- if(!$db){
- echo $db->lastErrorMsg();
- } else {
- echo "Opened database successfully\n";
- }
- $sql =<<<EOF
- CREATE TABLE COMPANY
- (ID INT PRIMARY KEY NOT NULL,
- NAME TEXT NOT NULL,
- AGE INT NOT NULL,
- ADDRESS CHAR(50),
- SALARY REAL);
- EOF;
- $ret = $db->exec($sql);
- if(!$ret){
- echo $db->lastErrorMsg();
- } else {
- echo "Table created successfully\n";
- }
- $sql =<<<EOF
- SELECT * from COMPANY;
- EOF;
- $ret = $db->query($sql);
- while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
- echo "ID = ". $row['ID'] . "\n";
- echo "NAME = ". $row['NAME'] ."\n";
- echo "ADDRESS = ". $row['ADDRESS'] ."\n";
- echo "SALARY = ".$row['SALARY'] ."\n\n";
- }
- echo "Operation done successfully\n";
- $db->close();
- ?>
复制代码 运行结果如下,表示uhttp+php+sqlite完美运行:

|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|