關於怎麼獲取php源碼和解壓就不再說了。 編譯的參數為: ./configure --prefix=/opt/php --with-bz2 --with-mcrypt --with-mhash --with-openssl --with-pdo-mysql --with-pdo-pgsql --wi
關於怎麼獲取php源碼和解壓就不再說了。
編譯的參數為:
./configure --prefix=/opt/php --with-bz2 --with-mcrypt --with-mhash --with-openssl --with-pdo-mysql --with-pdo-pgsql --with-mysqli --with-pgsql --enable-calendar --with-gettext --with-iconv --enable-mbstring --with-pspell --enable-exif --with-gd --with-png-dir=/opt/php --with-jpeg-dir=/opt/php --with-imap --enable-bcmath --with-gmp --enable-pcntl --enable-sysvshm --enable-shmop --with-tidy --with-curl --enable-ftp --with-ldap --enable-sockets --enable-fpm --enable-soap --with-xmlrpc --enable-wddx --with-xsl --with-kerberos --with-imap-ssl
--prefix參數的值指定了php的安裝路徑,如果不指定的話那麼安裝後php的文件將分散在各個地方,不利於管理,指定路徑後所有的php文件將全部存放在指定的路徑下。其他參數全部能夠在php手冊上面能夠找到,只要查看函數參考章節下麵的每個擴展的安裝說明就可以找到需要的參數了。這些參數可以根據自己的需要增加或者減少。如果以後需要添加一個擴展,只需要在原有的參數上加上新的擴展參數然後重新編譯安裝就可以了(只要--prefix參數的位置不變就可以覆蓋以前的安裝的php)。
編譯完成後執行make命令,make執行完成後執行sudo make install命令進行安裝。
在安裝過程中可能會遇到各種問題,例如依賴包缺失等等,安裝過程中遇到的問題有如下這些:
configure: error:utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information 解決辦法:apt-get install libc-client2007e-dev configure: error: Cannot find ldap libraries in /usr/lib. 解決辦法:ln -fs /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/ configure: error: mcrypt.h not found. Please reinstall libmcrypt. 解決辦法:sudo apt-get install libmcrypt-dev CONFIGURE: ERROR: CANNOT FIND LIBPQ-FE.H. PLEASE SPECIFY CORRECT POSTGRESQL INSTALLATION PATH 解決辦法:sudo apt-get install postgresql-server-dev-9.5 configure: error: Cannot find pspell 解決辦法:sudo apt-get install libpspell-dev configure: error: Cannot find libtidy 解決辦法:sudo apt-get install libtidy-dev configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution 解決辦法:sudo apt-get install libxslt1-dev /usr/bin/ld: ext/ldap/.libs/ldap.o: undefined reference to symbol 'ber_strdup@@OPENLDAP_2.4_2' //usr/lib/x86_64-linux-gnu/liblber-2.4.so.2: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 解決辦法:在PHP源碼目錄下 vim Makefile 找到 EXTRA_LIBS 行(帶有很多參數的行),在行末添加 ‘ -llber ‘ 保存退出再次make即可。 以上只是一部分遇到的問題,由於我在安裝的時候遇到的一部分問題沒有記錄,所以目前只有這幾個問題,下次安裝時再補充。