busybox filesystem matrix-gui-2.0 undefined function json_encode()

/********************************************************************************
 *               matrix-gui-2.0 undefined function json_encode()
 * 声明:
 *     本文解决matrix-gui-2.0中遇到的:
 *     Fatal error:
 *     Call to undefined function json_encode() in /www/generate.php on line 134
 *     以及busybox httpd找不到index.html,主要是由于index.html被替换成了index.php
 *
 *                                          2016-1-31 深圳 南山平山村 曾剑锋
 *******************************************************************************/

一、参考文章:
    1. PHP移植
        http://www.cnblogs.com/dancheblog/p/3508675.html
    2. Ubuntu Correct path to libxml2 when configuring PHP 5
        https://www.howtoforge.com/community/threads/ubuntu-correct-path-to-libxml2-when-configuring-php-5.9982/
    3. 编译安装php
        http://www.cnblogs.com/alexqdh/archive/2012/11/20/2776017.html
    4. linux下安装PHP出现错误 求助大家了
        http://bbs.chinaunix.net/thread-1962843-1-1.html
    5. Using the busybox HTTP server
        http://wiki.chumby.com/index.php?title=Using_the_busybox_HTTP_server

二、下载、编译libxml2-2.7.6.tar.gz
    1. https://buildroot.org/downloads/
    2. sudo ./configure --host=arm-linux-gnueabihf --prefix=/usr/local/php && make && make install
    3. 注意配置好编译器环境变量。

三、 下载、编译zlib-1.2.8.tar.gz
    1. http://www.zlib.net/
    2. sudo CC=arm-linux-gnueabihf-gcc ./configure --shared --prefix=/usr/local/php && make && make install
    3. 注意配置好编译器环境变量。

四、重新编译php-5.5.31.tar.bz2
    ./configure --host=arm-linux-gnueabihf --prefix=/usr/local/php --disable-all --enable-fastcgi --enable-session --enable-tokenizer --enable-pdo --with-sqlite --with-sqlite3 --with-pdo-sqlite --with-pcre-regex  --without-iconv --with-libxml-dir=/usr/local/php --enable-libxml --enable-spl --enable-simplexml --enable-json --with-zlib --with-zlib-dir=/usr/local/php

五、error:
    1. 错误1:
        1. 错误现象:
            ......
            checking whether to enable LIBXML support... yes
            checking libxml2 install dir... no
            checking for xml2-config path... (cached) /usr/bin/xml2-config
            configure: error: xml2-config not found. Please check your libxml2 installation.
        2. 解决办法:
            1. 编译安装:libxml2-2.7.6.tar.gz
            2. php-5.5.31加入编译条件(目录根据自己前面编译libxml是写的目录):
                --enable-libxml --with-libxml-dir=/home/Qt/rootfs/busybox/php/libxml2-2.7.6
    2. 错误2:
        1. 错误现象:
            ......
            checking for strftime... (cached) yes
            checking which regex library to use... php
            checking whether to enable LIBXML support... yes
            checking libxml2 install dir... /home/Qt/rootfs/busybox/php/libxml2-2.7.6
            checking for xml2-config path...
            configure: error: xml2-config not found. Please check your libxml2 installation.
        2. 解决办法:“
            sudo apt-get install libxml2-dev
    3. 错误3:
        1. 错误现象:
            ......
            checking whether to enable the SQLite3 extension... yes
            checking bundled sqlite3 library... yes
            checking for ZLIB support... yes
            checking if the location of ZLIB install directory is defined... no
            checking for zlib version >= 1.2.0.4... 1.2.3.4
            checking for gzgets in -lz... no
            configure: error: ZLIB extension requires gzgets in zlib
        2. 解决办法:
            1. 编译安装:zlib-1.2.8.tar.gz
            2. php-5.5.31加入编译条件(目录根据自己前面编译zlib是写的目录):
                --with-zlib --with-zlib-dir=/usr/local/php

六、matrix_gui 404 找不到index.html:
    1. 这可能是由于busybox的httpd默认识别的index.html,但我们的是index.php;
    2. 由上可知,我们需要在matrix_gui中指定我们需要访问的是index.php;
    3. 当然,我们也是可以在/etc/httpd.conf配置:
        I:index.php      # Show index.php when a directory is requested

七、总结:
    zlib最好要先于libxml2编译,同时在编译libxml2的时候将zlib的安装目录放置于PATH最前面。

 

时间: 2024-09-25 14:28:09

busybox filesystem matrix-gui-2.0 undefined function json_encode()的相关文章

busybox filesystem add ldd function

/******************************************************************** * busybox filesystem add ldd function * 声明: * 本文主要是为了解决缪新建提出的查看程序涉及到动态链接库的问题. * * 2016-1-23 深圳 南山平山村 曾剑锋 *******************************************************************/ 一.参考文章

busybox filesystem httpd php-5.5.31 sqlite3 webserver

/******************************************************************** * busybox filesystem httpd php-5.5.31 sqlite3 webserver * 声明: * 本文主要是记录使用httpd.php5.sqlite3搭建php web服务器. * * 2016-1-24 深圳 南山平山村 曾剑锋 ************************************************

JS魔法堂:从void 0 === undefined说起

一.前言   当使用coffeescript书写如下代码时 name = person?.name 会被预编译为 var name = typeof person !== "undefined" && person !== null ? person.name : void 0; ,那么void 0到底是什么意思呢?运行得知void 0===undefined为true.那为什么不直接使用undefined而要使用void 0呢?而一元运算符void具体又有什么作用呢?

php运行出现Call to undefined function curl

在Ubuntu 下运行php,总是提示Call to undefined function curl_init(),原因没有安转:php5-curl 与curl相关的内容见:http://packages.ubuntu.com/zh-cn/intrepid/php5-curl CURL is a library for getting files from FTP, GOPHER, HTTP server. PHP5 is an HTML-embedded scripting language.

PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法

 这篇文章主要介绍了PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法,需要的朋友可以参考下 在一台处理网络支付的服务器迁移的时候,发现不能支付. PHP环境: PHP版本为5.3.3 系统为Red Hat 4.1.2-54 查看apache的错误日志,发现是加密文件中一个函数bcmul()报错:  代码如下: PHP Fatal error: Call to undefined function bcmul() in /php_rsa

php5-求助 Call to undefined function

问题描述 求助 Call to undefined function lnmp环境,默认php5.3,有一套程序需要使用zend optimizer,所以另外安装了php5.2+zend optimizer. 程序正常安装后 无论首页还是后台都提示: Call to undefined function `96f0vi&'$() in /XXX/extend_house/libs/classes/zcore/cecore.cls.php on line 0 求助解决方式,愿意C币或者话费报答.

php-Fatal error: Call to undefined function data_default_timezone_set()

问题描述 Fatal error: Call to undefined function data_default_timezone_set() 代码如下: <?php require_once('sql_class.php'); $db=new db_Mysql(); $db->dbServe='localhost'; $db->dbbase='gbook'; $db->dbUser='root'; $db->dbPwd='root'; $db->dbconnect(

thinkphp做文字水印,并解决call an undefined function exif_imagetype()

thinkphp做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,今天就写一个水印类并并解决call an undefined function exif_imagetype(),出现这个错误就是php.in 配置问题,打开即可:打开扩展 extension=php_exif.dll 如果再不行就把extension=php_mbstring.dll ,放到extension=php_exif.dll前边 注意:extension=ph

ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法_php实例

本文实例讲述了ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法.分享给大家供大家参考.具体如下: 一.问题描述: ThinkPHP做文字水印 ,今天做一个电子请帖,就把祝福语贴到图片上面,发现一直报错是取不到图片类型,比如gif,jpg等,并提示call an undefined function exif_imagetype(). 二.解决方法: 出现这个错误就是php.in 配置问题,打开即可:打开扩展 exten