buildroot httpd php

/********************************************************************
 *                    buildroot httpd php
 * 说明:
 *     在buildroot中选择了php,但是在测试的时候发现总是出现下面这行
 * 错误,库是存在的,但是却没有放对正确的位置,通过创建软链接解决。
 *
 *                                  2016-9-22 深圳 南山平山村 曾剑锋
 *******************************************************************/

一、参考文档:
    error while loading shared libraries: libmysqlclient.so.16/18: cannot open shared object file
        http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=25135004&id=3012725

二、报错:
    php: error while loading shared libraries: libmysqlclient.so.16: cannot open shared object file: No such file or directory

三、原因:
    找不到libmysqlclient.so.16,通过find命令使能找到的。

四、解决办法:
    在能找到的库目录下创建软链接就行了。

五、操作流程:
    # find . -iname php
    ./usr/bin/php
    ./usr/lib/php
    # LD_TRACE_LOADED_OBJECTS=1 /usr/bin/php
            libcrypt.so.1 => /lib/libcrypt.so.1 (0x76f9c000)
            libdl.so.2 => /lib/libdl.so.2 (0x76f8f000)
            libreadline.so.6 => /usr/lib/libreadline.so.6 (0x76f53000)
            libncurses.so.5 => /usr/lib/libncurses.so.5 (0x76f1e000)
            libmysqlclient.so.16 => not found
            libnsl.so.1 => /lib/libnsl.so.1 (0x76f00000)
            libm.so.6 => /lib/libm.so.6 (0x76e59000)
            libz.so.1 => /usr/lib/libz.so.1 (0x76e3f000)
            libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x76ce8000)
            libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x76c8f000)
            libxml2.so.2 => /usr/lib/libxml2.so.2 (0x76b80000)
            libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x76b57000)
            libc.so.6 => /lib/libc.so.6 (0x76a17000)
            /lib/ld-linux.so.3 (0x76fd5000)
    # find . -iname libmysqlclient.so.16
    ./usr/lib/mysql/libmysqlclient.so.16
    # ln -s /usr/lib/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so.16
    # LD_TRACE_LOADED_OBJECTS=1 /usr/bin/php
            libcrypt.so.1 => /lib/libcrypt.so.1 (0x76f17000)
            libdl.so.2 => /lib/libdl.so.2 (0x76f0a000)
            libreadline.so.6 => /usr/lib/libreadline.so.6 (0x76ece000)
            libncurses.so.5 => /usr/lib/libncurses.so.5 (0x76e99000)
            libmysqlclient.so.16 => /usr/lib/libmysqlclient.so.16 (0x76e2d000)
            libnsl.so.1 => /lib/libnsl.so.1 (0x76e0f000)
            libm.so.6 => /lib/libm.so.6 (0x76d68000)
            libz.so.1 => /usr/lib/libz.so.1 (0x76d4e000)
            libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x76bf7000)
            libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x76b9e000)
            libxml2.so.2 => /usr/lib/libxml2.so.2 (0x76a8f000)
            libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x76a66000)
            libc.so.6 => /lib/libc.so.6 (0x76926000)
            /lib/ld-linux.so.3 (0x76f50000)

六、测试代码:
    1. busybox httpd /etc/httpd.conf配置:
        I:index.php
        *.php:/usr/bin/php-cgi
    2. index.php代码:
        <html>
                <head>
                </head>
                <body>
                        <h1>zengjf</h1>

                        <?php           // 最好加上php,有可能不解析
                                echo "zengjf";
                        ?>

                        <?              // 这里能不能解析要看/etc/php.ini中的short_open_tag是否是on状态
                                echo system("ls /");
                        ?>

                        <?
                                phpinfo();
                        ?>

                </body>
        </html>

 

时间: 2024-08-02 04:07:07

buildroot httpd php的相关文章

如何通过httpd和DVD ISO在RHEL上配置yum本地源

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/811112 //译者注:本文翻译原文由红帽知识库 //(https://access.redhat.com/knowledge/solutions/7227)提供. //此符号(//)后面的内容均为译者添加 //原文有改动 如何通过HTTP在RHEL上配置yum本地资源库? A.本文适应的操作系统环境: Red Ha

compile httpd 2.4.9, perl, php in CentOS 6.x x64

httpd 2.4.9 在CentOS 6.x x64上的安装过程. 一. apr安装 http://apr.apache.org/download.cgi # wget http://mirror.bit.edu.cn/apache//apr/apr-1.5.1.tar.bz2 # tar -jxvf apr-1.5.1.tar.bz2 # cd apr-1.5.1 # ./configure --prefix=/opt/apr1.5.1 # make && make test # ma

2003虚拟主机用httpd.ini控制盗链

最近网站图片被盗链,导致服务器负担过重 于是上网找了一下关于防盗链的方法大多数都是用.htaccess防盗链的,可我使用的虚拟主机是windows 2003不支持.htaccess,找了一整天,终于解决了,就是用httpd.ini来控制 首先新建一个文本文档 改名字为httpd.ini 在此文件中添加如下代码 [ISAPI_Rewrite] CacheClockRate 3600 RepeatLimit 32 #已配置了伪静态的可以删除上面三行代码 #防盗链设置 RewriteCond Host

Apache的httpd.conf文件常用指令解释

apache Apache的httpd.conf文件常用指令解释 ServerType standalone #设置服务器的形式是单独启动(standalone),还是借由互联网络伺服程序inetd来启动.一般使用前者. ServerRoot "/usr/local/apache" #设置服务器的Home目录,用来存放服务器的设置文件.错误文件.记录文件. PidFile logs/httpd.pid #程序启动时,把父进程httpd的进程号(process id)存在这个文件中.这个

Linux操作系统启动httpd失败的解决方法

Red Hat Linux enterprise 5 start httpd faild linux httpd: httpd 启动 failed 我在虚拟机里面遇到此问题,试了很多方法都没法启动,后来发现,问题出在/etc/httpd/conf/目录里面有一个叫httpd.conf的文件.在同一目录下还有另外一个叫httpd.conf.bak,只要把httpd.conf.bak的内容复制httpd.conf文件中,覆盖原来的内容就能启动了,到shell里运行service httpd star

apache中httpd.conf的中文件详解

ServerRoot /Apache#可以用绝对路径 e:webapache#ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下.PidFile logs/httpd.pid#PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它

如何重起,停止,启动httpd服务?

/etc/init.d/xxx start | stop | restart  /etc/init.d/httpd reload  优点: 不必找出进程的 PID  /etc/init.d/httpd restart  关闭然后重新打开  在/etc下面有很多诸如rc?.d的目录,里面有很多符号链接.在这儿,?是指运行级对应的数字和 rcsysinit.d.在这些目录下都会有符号链接文件,它们的名字都是以K或S开头,后面跟有三个数字:000-999.K意味着停止(Kill)一个服务.S意味着开始

Apache Server的httpd.conf文件注释及配置指导

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  我们把httpd.conf文件进行了简单的注释,这里只是把其中注释了的提出来,便于浏览   开始之前: 1.配置和写文件名时注意:如果您给出文件名以"/"开头,则服务器会用绝对目录. 2.如果给出的文件名不以"/"开头,如:"logs/foo.log", 而当前

PHP的服务器Apache中httpd.conf 的中文详解

ServerRoot "/Apache" #可以用绝对路径 e:\web\apache #ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的路径之下. PidFile logs/httpd.pid #PidFile指定的文件将记录httpd守护进程的进程号,由于httpd能自动复制其自身,因此系统中有多个httpd进程,但只有一