遇到的错误

安装GD库的时候

ibz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[2]: *** [libgd.la] Error 1
make[2]: Leaving directory `/lamp/gd-2.0.35'

-----------------------------------------------------------

解决办法 : 重新安装 zlib-1.2.3.tar.gz

tar -zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure

vi Makefile
找到 CFLAGS=-O3 -DUSE_MMAP
在后面加入-fPIC,即变成CFLAGS=-O3 -DUSE_MMAP -fPIC
接下面步骤

make
make install

----------------------------------------------------

make: *** [sapi/cli/php] Error 1

/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:43: undefined reference to `mysql_disable_reads_from_master'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

----------------------------------------

解决方案: vi Makefile  :set nu 查看行号

在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要link 的iconv 函式库参数。 解决方法:编辑Makefile 我的php5.2.5在81行的地方:

EXTRA_LIBS = -lcrypt -lcrypt -lrt -lmysqlclient_r -lgd -lfreetype -lpng -lz -ljpeg -lz -lresolv -lm -ldl -lnsl -lxml2 -lz -lm -lxml2

-lz -lm -lmysqlclient_r -lz -lcrypt -lnsl -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -l

crypt

在其后加上-liconv,不要有空格。如下

86 EXTRA_LIBS = -lcrypt -lcrypt -lrt -lmysqlclient -lmcrypt -lltdl -lgd -lfreetype -lpng -lz -ljpeg -lresolv -lm -
        ldl -lnsl -lxml2 -lz -lm -lxml2 -lz -lm -lmysqlclient -lz -lcrypt -lnsl -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcry
        pt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt -liconv

参考网站:http://www.2cto.com/kf/201108/99067.html

 

 

 -lm -lxml2 -lz -lm -lcrypt  -o sapi/cli/php
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_slave_query':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:207: undefined reference to `mysql_slave_query'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_rpl_query_type':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:168: undefined reference to `mysql_rpl_query_type'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_rpl_probe':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:147: undefined reference to `mysql_rpl_probe'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_rpl_parse_enabled':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:130: undefined reference to `mysql_rpl_parse_enabled'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_master_query':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:111: undefined reference to `mysql_master_query'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_enable_rpl_parse':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:93: undefined reference to `mysql_enable_rpl_parse'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_enable_reads_from_master':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:76: undefined reference to `mysql_enable_reads_from_master'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_disable_rpl_parse':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:59: undefined reference to `mysql_disable_rpl_parse'
ext/mysqli/.libs/mysqli_repl.o: In function `zif_mysqli_disable_reads_from_master':
/lamp/php-5.2.6/ext/mysqli/mysqli_repl.c:43: undefined reference to `mysql_disable_reads_from_master'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1

--------------------------------------------------------------------------------------------------------------------

   with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies

正确安装Zend Optimizer v3.3.3,解决方案:(网上搜集了很多方案,都不管用)

简单的说,就是解压的那个.so文件要复杂到php目录下,然后添加那一句。如下

cd 下载目录

tar zxvf ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz

cd ZendOptimizer-3.3.3-linux-glibc23-x86_64

注意版本对应,我的php版本是5.2.6

cp data/5_2_x_comp/ZendOptimizer.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

 

修改php.ini

vi /usr/local/php-5.2.14/etc/php.ini

按住shift+g到最后并添加:

[Zend]

zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so”

就可以了

-----------------------------------------

-bash: php: command not found

解决方案:ln -s /usr/local/php/bin/php /usr/bin

 

---------------------------------------------------------------------------------------------------------------

2015年2月22日

 PHP添加CURL扩展库 

次编译只是单独编译php的扩展库,然后将编译好的php扩展库加到现在运行的php中,不对现在运行的php重新编译,所以对现在运行的php没有任何影响。

做法一:

1. 找到当前运行的php版本的源代码目录,如php-5.2.6。进入curl扩展库目录。
$ cd /lamp/php-5.2.6/ext/curl

2. 调用phpize程序生成编译配置文件。
$/usr/local/php/bin/phpize

3. 编译扩展库,分别执行下面的configuremake命令。
$./configure -with-php-config=/usr/local/php/bin/php-config

这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因
$make
#make
成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,
  /home/php-5.2.3/ext/curl/modules/curl.so

4. 配置php.ini文件
#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。
$cp /home/src/php-5.2.3/ext/curl /modules/curl.so /usr/local/php/ext
#
php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下,并添加扩展库位置。【vi  /usr/local/php/lib/php.ini 复制过来的,大约在823行左右】
 extension_dir = “/usr/local/php/ext/”
 extension=curl.so
##
如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copyapache2 modules目录下,再在这个位置,添加一行将编译后的扩展库文件名加上即可。

5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。

参考文章:http://blog.chinaunix.net/uid-26167002-id-3045558.html

[正好usr/local/php/etc/php.ini文件里面vi之后有这么一段

extension_dir = "/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/"
extension="memcache.so";
extension="pdo.so";
extension="pdo_mysql.so";
extension="curl.so";]

 cp curl.so /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/ 到这个目录下

---------------------------------------------------------------------------------------------------------------------------

按照如上方法,编译按照openssl

Cannot find config.m4.
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module

linux系统怎么样在不重新编译php增加open ssl扩展:

#下面是php的安装目录  
/usr/local/php/bin/

#切换到php安装目录的 etx/openssl目录
cd /php-5.3.8p/ext/openssl

#查看openssl目录下有个config0.m4,把config0.m4改名为config.m4。
cp config0.m4 config.m4

#依次执行:
/usr/local/php5/bin/phpize

./configure -with-php-config=/usr/local/php/bin/php-config
make && make install

#然后找到php.ini所在位置 打开 extension_dir(如果没有则自行添加), 同时添加 extension = "openssl.so"

#重启服务器 即可

#openssl 查看方法:
/usr/local/php5/bin/php -i |grep openssl

 

---------------------------------------------------------------------------

添加zlib,同理

 1126  cd /lamp/php-5.2.6/ext

 cd zlib
 1127  mv config0.m4  config.m4
 1128  /usr/local/php/bin/phpize 
  1130  ./configure --with-php-config=/usr/local/php/bin/php-config

【creating libtool
appending configuration tag "CXX" to libtool
configure: creating ./config.status
config.status: creating config.h

这样就是成功的标志


 1131  make
 1132  make install

【[root@iZ25sgya7raZ xmlrpc]# make install
Installing shared extensions:     /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/

就是.so文件生成在这个目录下面


 1133  ls modules/
 1134  cd /usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/
 1135  ls
 1136  vi /usr/local/php/etc/php.ini 

【添加上

extension_dir = "/usr/local/php//lib/php/extensions/no-debug-non-zts-20060613/"
extension="memcache.so";
extension="pdo.so";
extension="pdo_mysql.so";
extension="curl.so";

extension="zlib.so";


 1138   /usr/local/apache2/bin/apachectl stop
 1139   /usr/local/apache2/bin/apachectl start

-------------------------------------------------------

添加xmlrpc同理

疑问:编译php的时候,是不是加一个选项就不要这么加.so文件了

cd /lamp/php-5.2.6

./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets

---------------------------------------------------

-----

递归可读可写

[root@iZ25sgya7raZ apache2]# chmod 777 htdocs/
[root@iZ25sgya7raZ apache2]# chmod -R 777 htdocs/

 

--------------------------------------------------------

2015年2月25日

默认的php编译openssl错误,5.2.6版本的php好像有问题

遇到同样的错误问题解决

http://www.linuxidc.com/Linux/2014-04/100486.htm

 

---------------------------------------------------------------------------

2015年2月26日 直接解压编译php,没有apache和mysql

./configure --prefix=/usr/local/php5  

configure: error: xml2-config not found. Please check your libxml2 installation.

重新安装libxml2和libxml2-devel包

yum install libxml2

yum install libxml2-devel -y

安装好了php,继续编译php变成.so文件那个

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

 yum install m4

yum install autoconf

 cd /opt/php5.2.17/etc/openssl

./configure --with-openssl --with-php-config=/usr/local/php5/bin/php-config

posted @ 2015-02-19 21:24  kin2321  阅读(3198)  评论(0编辑  收藏  举报