#rpm安裝apache后編譯php找不到apxs
編譯安裝php時通常要指定apxs的位置,但有些時候會找不到路徑,編譯php時返回錯誤信息
這時只要將httpd-devel包裝上便可以使用,安裝httpd-devel時會有依賴關系,照提示安裝所有包即可
當然,用yum按裝也可以
編譯php加入參數
`./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql`
#設置httpd.conf
#php.ini 目錄
~~~
PHPIniDir "/usr/local/php/lib/php.ini"
LoadModule php5_module /usr/lib/httpd/modules/libphp5.so
~~~
#linux編譯php gd擴展
1:安裝gd的依賴包
` yum -y install gd gd2 gd-devel gd2-devel zlib freetype`
安裝jpeg:
~~~
wget http://www.ijg.org/files/jpegsrc.v9b.tar.gz
tar -xvf jpegsrc.v9b.tar.gz
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make && make install
~~~
2:進入PHP擴展目錄編譯擴展
cd php源碼包/ext//ext/gd 例如:/usr/local/src/php-5.5.37/ext/gd
執行:/usr/local/php/bin/phpize
編譯GD擴展:
~~~
./configure --with-php-config=/usr/local/php/bin/php-config -with-png-dir --with-freetype-dir --with-jpeg-dir=/usr/local/jpeg -with-zlib-dir --with-gd
make
make install
~~~
這是會提示:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212(這個路徑就是擴展的路徑)
cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212
就能看到擴展了:gd.so 擴展已經編譯成功了
3:編譯好的gd擴展添加到PHP中
打開php.ini
`extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212"` //設置擴展路徑
extension=gd.so //增加GD擴展
4:編譯中遇到的問題
我第一次編譯的時候:
` ./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg=/usr/local/jpeg --with-png --with-freetype --with-zlib --with-gd `
然后編譯安裝 安裝完成后 發現GD擴展安裝成功,但是在php中有些內置的函數不管用
更換上面那種方式:記得一定要 make clean 否則更改失效
--with-freetype 和 --with-freetype-dir 區別: