要么是编译icu库的时候没带--with-data-packaging=files选项,要么是没有在/etc/profile文件中添加export ICU_DATA=/usr/local/share/icu/77.1环境变量,要么是改了/etc/profile文件但没用exit命令退出命令行再按回车键重新进入命令行。从源码目录里面复制过去:cp ~/software/php/ph - 实践
幸狐RV1106开发板从SD卡启动自己的busybox1.36.1根文件系统:https://blog.csdn.net/ZLK1214/article/details/149076266
在fedora42虚拟机上用arm-gnu-toolchain-14.2交叉编译器编译gcc14.2、gdb14.2和make4.4,得到gcc本地编译器,然后在幸狐rv1106开发板上运行:https://blog.csdn.net/ZLK1214/article/details/149076762
在幸狐RV1106板子上用gcc14.2本地编译安装apache2.4.63,开启http2和tls1.3,并且https支持XP系统的IE6-8浏览器:在幸狐RV1106板子上用gcc14.2本地编译安装apache2.4.63,开启http2和tls1.3,并且https支持XP系统的IE6-8浏览器-CSDN博客
【参考文章】Ubuntu14.04安装2024年最新版apache-2.4.59+openssl-1.1.1w+php-8.3.6,并启用https和HTTP2,且XP系统下的IE6和IE8能正常访问https:Ubuntu14.04安装2024年最新版apache-2.4.59+openssl-1.1.1w+php-8.3.6,并启用https和HTTP2,且XP系统下的IE6和IE8能正常访问https_php-8.3.6编译安装-CSDN博客
工作目录:
mkdir -p ~/software/php
cd ~/software/php
【编译安装m4-1.4.20】
wget https://ftp.gnu.org/gnu/m4/m4-1.4.20.tar.gz --no-check-certificate
tar xf m4-1.4.20.tar.gz
cd m4-1.4.20
./configure
make
make install
ldconfig
cd ..
【编译安装autoconf-2.72】
wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.72.tar.gz --no-check-certificate
tar xf autoconf-2.72.tar.gz
cd autoconf-2.72
./configure
make
make install
ldconfig
cd ..
【编译安装libtool-2.5.4】
wget https://ftp.gnu.org/gnu/libtool/libtool-2.5.4.tar.gz --no-check-certificate
tar xf libtool-2.5.4.tar.gz
cd libtool-2.5.4
./configure
make
make install
ldconfig
cd ..
【编译安装automake-1.18】
wget https://ftp.gnu.org/gnu/automake/automake-1.18.tar.gz --no-check-certificate
tar xf automake-1.18.tar.gz
cd automake-1.18
./configure
make
make install
ldconfig
cd ..
【编译安装pkg-config-0.29.2】
wget https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz --no-check-certificate
tar xf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2
./configure --with-internal-glib
make
make install
ldconfig
cd ..
【编译安装Python-3.13.5】
特别注意:一定要加--enable-shared选项,把so库编译出来。python和其他软件包不同,enable-shared选项的默认值是no。
wget https://www.python.org/ftp/python/3.13.5/Python-3.13.5.tar.xz --no-check-certificate
tar xf Python-3.13.5.tar.xz
cd Python-3.13.5
./configure --enable-shared
make
make install
ldconfig
cd ..
【编译安装libxml2-2.14.4】
wget https://github.com/GNOME/libxml2/archive/refs/tags/v2.14.4.tar.gz --no-check-certificate
mv v2.14.4.tar.gz libxml2-2.14.4.tar.gz
tar xf libxml2-2.14.4.tar.gz
cd libxml2-2.14.4
./autogen.sh
make
make install
ldconfig
cd ..
【编译安装sqlite-3.50.1】
wget https://sqlite.org/2025/sqlite-src-3500100.zip --no-check-certificate
unzip sqlite-src-3500100.zip
cd sqlite-src-3500100
./configure
make
make install
ldconfig
cd ..
sqlite3.c文件很大,有8.84MB,编译大概需要500MB内存,RV1106G3芯片片内的256MB内存不够用。
编译前必须开启swap虚拟内存:swapon /root/swapfile
不然内存会耗尽,提示gcc: fatal error: Killed signal terminated program cc1
编译完成后可以关闭swap虚拟内存:swapoff /root/swapfile
编译生成的sqlite3.o大小为5.19MB,sqlite3程序的大小为5.91MB。
[root@luckfox-rv1106 ~/bluetooth]# free -h
total used free shared buff/cache available
Mem: 215.4M 206.6M 2.8M 108.0K 6.0M 3.0M
Swap: 2.0G 310.0M 1.7G
【编译安装bzip2-1.0.8】
wget https://sourceware.org/pub/bzip2/bzip2-1.0.8.tar.gz --no-check-certificate
tar xf bzip2-1.0.8.tar.gz
cd bzip2-1.0.8
修改Makefile文件,CFLAGS=末尾加上-fPIC选项。
make
make install
ldconfig
cd ..
【编译安装libpsl-0.21.5】
wget https://github.com/rockdaboot/libpsl/releases/download/0.21.5/libpsl-0.21.5.tar.gz --no-check-certificate
tar xf libpsl-0.21.5.tar.gz
cd libpsl-0.21.5
./configure
make
make install
ldconfig
cd ..
【编译安装curl-8.14.1】
wget https://curl.se/download/curl-8.14.1.tar.gz --no-check-certificate
tar xf curl-8.14.1.tar.gz
cd curl-8.14.1
./configure --with-openssl
make
make install
ldconfig
cd ..
【编译安装libpng-1.6.49】
wget http://prdownloads.sourceforge.net/libpng/libpng-1.6.49.tar.gz
tar xf libpng-1.6.49.tar.gz
cd libpng-1.6.49
./configure
make
make install
ldconfig
cd ..
【编译安装cmake-4.0.3】
wget https://github.com/Kitware/CMake/releases/download/v4.0.3/cmake-4.0.3.tar.gz --no-check-certificate
tar xf cmake-4.0.3.tar.gz
cd cmake-4.0.3
swapon /root/swapfile
./configure
make
make install
swapoff /root/swapfile
ldconfig
cd ..
【编译安装libjpeg-turbo-3.1.1】
(本软件包的默认安装目录是/opt/libjpeg-turbo)
wget https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.1.1/libjpeg-turbo-3.1.1.tar.gz --no-check-certificate
tar xf libjpeg-turbo-3.1.1.tar.gz
cd libjpeg-turbo-3.1.1
cmake .
make
make install
cd ..
【编译安装freetype-2.13.3】
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.13.3.tar.gz --no-check-certificate
tar xf freetype-2.13.3.tar.gz
cd freetype-2.13.3
./configure
make
make install
ldconfig
cd ..
【编译安装oniguruma-6.9.10】
wget https://github.com/kkos/oniguruma/releases/download/v6.9.10/onig-6.9.10.tar.gz --no-check-certificate
tar xf onig-6.9.10.tar.gz
cd onig-6.9.10
./configure
make
make install
ldconfig
cd ..
【编译安装postgresql-17.5】
【编译安装tidy-5.8.0】
wget https://github.com/htacg/tidy-html5/archive/refs/tags/5.8.0.tar.gz --no-check-certificate
mv 5.8.0.tar.gz tidy-html5-5.8.0.tar.gz
tar xf tidy-html5-5.8.0.tar.gz
cd tidy-html5-5.8.0/build/cmake
cmake ../.. -DCMAKE_BUILD_TYPE=Release -DCMAKE_POLICY_VERSION_MINIMUM=3.5
make
make install
cd ../../..
【编译安装php-8.4.8】
wget https://www.php.net/distributions/php-8.4.8.tar.gz --no-check-certificate
tar xf php-8.4.8.tar.gz
cd php-8.4.8
./configure --prefix=/opt/php-8.4.8 --with-apxs2=/opt/httpd-2.4.63/bin/apxs --enable-bcmath --enable-mbstring --with-bz2 --with-curl --with-gettext --with-mysqli --with-pdo-mysql --with-pgsql --with-pdo-pgsql --enable-gd --with-freetype --with-jpeg --with-openssl --with-tidy --with-zlib JPEG_CFLAGS=-I/opt/libjpeg-turbo/include JPEG_LIBS="-L/opt/libjpeg-turbo/lib32 -ljpeg"
swapon /root/swapfile
make
make install
swapoff /root/swapfile
cd ..
本人编译Zend/zend_execute.c这个文件花了43分钟,而且至少用了280MB的内存。
一开始没开swap虚拟内存,编译到一半才开的。
【配置httpd-2.4.63和php-8.4.8】
vi /opt/httpd-2.4.63/conf/httpd.conf
找到DirectoryIndex index.html,加上index.php。
在文件末尾添加:
AddType application/x-httpd-php .php
vi /opt/httpd-2.4.63/htdocs/info.php
内容:
<?php phpinfo() ?>
测试配置:/opt/httpd-2.4.63/bin/httpd -t
重启apache服务器:/opt/httpd-2.4.63/bin/apachectl restart
(如果无法访问网页,那就多重启几次)
访问:https://板子IP/info.php
可以看到phpinfo的界面,里面显示Loaded Configuration File为(none),即没有加载php.ini文件。
从源码目录里面复制过去:cp ~/software/php/php-8.4.8/php.ini-development /opt/php-8.4.8/lib/php.ini
重启apache服务器:/opt/httpd-2.4.63/bin/apachectl restart
查看phpinfo里面Loaded Configuration File一栏,就可以看到成功加载了/opt/php-8.4.8/lib/php.ini文件。

【开启apache rewrite重写模块】
vi /opt/httpd-2.4.63/conf/httpd.conf
取消注释LoadModule rewrite_module modules/mod_rewrite.so
Options Indexes FollowSymLinks改成Options FollowSymLinks
AllowOverride None改成AllowOverride All
测试配置:/opt/httpd-2.4.63/bin/httpd -t
重启apache服务器:/opt/httpd-2.4.63/bin/apachectl restart
【测试php访问postgresql数据库】
vi /opt/httpd-2.4.63/htdocs/pgsql_test.php
pgsql test
{$row['title']}\n";
}
?>
访问网址:https://板子IP/pgsql_test.php

在XP系统下用firefox115.25esr浏览器访问phpinfo页面:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Apache/2.4.63 (Unix) OpenSSL/1.1.1w PHP/8.4.8
HTTP/2.0

这里可以看到apache服务器开了mod_rewrite模块。

【安装phpPgAdmin-7.13.0】
cd ~/software/php
wget https://github.com/phppgadmin/phppgadmin/releases/download/REL_7-13-0/phpPgAdmin-7.13.0.tar.gz --no-check-certificate
tar xf phpPgAdmin-7.13.0.tar.gz -C /opt/httpd-2.4.63/htdocs
cd /opt/httpd-2.4.63/htdocs/phpPgAdmin-7.13.0
修改all_db.php文件,第202行,while (list ($key) = each ($data->codemap)) {改成foreach ($data->codemap as $key => $value) {
然后在这个函数外面(第258行)添加一个空的构造函数function __construct() {}
修改classes/database/Connection.php,找到switch (substr($version,0,2)) {,在下面添加一行case '17':(加到所有case的最上面,不要加break语句)
修改conf/config.inc.php文件,第105行$conf['extra_login_security'] = true改成false。
在下面加一行ini_set('display_errors', 'off');
修改libraries/adodb/adodb.inc.php文件,注释掉第432行die('Virtual Class -- cannot instantiate');。
确保/home/postgres/data/pg_hba.conf文件里面的trust已经全部改成了md5。
访问网址:https://板子IP/phpPgAdmin-7.13.0
phpPgAdmin-7.13.0支持XP系统的IE6浏览器,可用IE6访问。
在网页上登录postgres用户,输入正确的密码luckfox可以登录成功,输入其他密码则登录失败。

PostgreSQL 17.5 架于 localhost:5432 - 您是 "postgres"


浙公网安备 33010602011771号