遇到的錯誤


安裝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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM