我的系统版本信息如下:
LSB Version:    :core-3.0-amd64:core-3.0-noarch:graphics-3.0-amd64:graphics-3.0-noarch
Distributor ID: RedHatEnterpriseAS
Description:    Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
Release:        4
Codename:       NahantUpdate3我的php版本信息如下:
PHP 5.4.4 (cli) (built: Jul 12 2012 20:41:13) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
我是linux菜鸟,之前不知如何安装php扩展,看了各类帖子,大概都是编译安装。
安装步骤大概是这样的:
比如安装curl扩展,(我的curl安装在/usr/local/tool/curl/)
cd php源码的ext/curl目录
执行/usr/local/php5/bin/phpize 
执行 ./configure --with-curl=/usr/local/tool/curl/ --with-php-config=/usr/local/php5/bin/php-config
执行 make
执行 make test
执行make test的时候,报错:
PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'curl.so' in Unknown on line 0安装其他扩展,都碰到同样的错误。扩展安装不进去,求教是怎么回事?

解决方案 »

  1.   


    编译安装都没有问题,
    只是make test测试的时候,显示错误,PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'curl.so' in Unknown on line 0安装完后,重启apache,phpinfo也看不到扩展。执行/usr/local/php5/bin/php -m的也报错:PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'curl.so' in Unknown on line 
      

  2.   

    本帖最后由 PhpNewnew 于 2012-07-14 22:54:23 编辑
      

  3.   


    你说的这些步骤我都做了的,
    搞了无数遍了,都不行,
    我不是每次都make test, 有时我只是看看有没有问题,所以执行make test,
    之后还执行了make install
    同时也改写了php.ini
    我是把so文件拷贝到了php的安装目录下的ext文件夹,
    同时在php.ini这样配置:
     extension_dir = "/usr/local/php5/ext/"                                                                                                                  
     extension=curl.so这样有问题么?另外:
    我刚才重新编译了php,在编译的时候加上了curl,这样curl扩展可以加上了。但上面那个问题到底是怎么回事,还不清楚。
      

  4.   

    extension_dir = "/usr/local/php5/ext/"   
    extension=curl.so这种的也可以,但似乎PHP安装后的目录里没有 ext 这个目录
    你说的这个ext目录在源码目录里才有,它里面存有各个扩展包的源代码
      

  5.   

    轮到我给你+1了...linux 下编译后的目录一般都是/extensions/no-debug-non-zts-xxxxxxxx/不是ext...
      

  6.   

    竟然有人跟我碰到相同的问题
    执行下 make clean
    /usr/local/php5/bin/phpize
    ./configure --with-curl --with-php-config=/usr/local/php5/bin/php-config 
    make 
    make install