linuxphp重新編譯
由於好久沒有搭環境,在linux上搭apache、PHP的環境時,遇到libphp5.so 無法生成這個問題,我也困擾了我半天,很是郁悶。從網上找了各種資料,都是瞎轉載,太無聊的一堆人了,自己成功沒有成功的先轉載,鄙視。 害的我嘗試了半天也沒有解決。下面列出我的正確解決辦法:
常見問題一:配置apache打開libphp5.so文件後提示錯誤
/usr/local/apache2/moles/libphp5.so: No such file or directory
解答: 發現moles下面沒有libphp5.so文件,說明安裝apache2的時候配置有問題,需要重新編譯安裝,必須採用 ./configure --enable-so 這種方式。然後重新安裝 make clean -> make -> make install。 然後重新安裝php,安裝時要求採用./configure --with-apxs2=/usr/local/apache2/bin/apxs 這種方式 然後 make & make install。如果還出現這個問題,可以重新安裝一下apache 和 php
常見問題二:在centOS中 配置apache的php時提示錯誤
cannot restore segment prot after reloc: Permission denied
解答:可以網路查看資料,關於centOS中的selinux。SELINUX的問題,對LIB庫的保護。
關閉 SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
#SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加
:wq!#保存退出
shutdown -r now#重啟系統
⑵ linux系統怎麼樣在不重新編譯php增加open ssl擴展
今天使用QQ登錄時, 遇到了不能跳轉的問題。發現是php不支持openssl.
又不想重新編譯php, 網上多方尋找。終於找到解決方案。 記錄如下:
#下面是php的安裝目錄
/usr/local/php5/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-openssl –with-php-config=/usr/local/php5/bin/php-config
make && make install
#然後找到php.ini所在位置 打開 extension_dir(如果沒有則自行添加), 同時添加 extension = "openssl.so"
#重啟伺服器 即可
#openssl 查看方法:
/usr/local/php5/bin/php -i |grep openssl
⑶ linux 怎樣修改php.ini
在命令提示符下進入php.ini文件所在的目錄,一般都是/etc目錄,如果要進入的話就用命令cd /etc 回車。
可以用dir php.ini來顯示確認一下該文件在不在你的當前目錄。
如果在,就用命令vi php.ini或vim php.ini來打開並進行編輯。這里需要注意的是剛打開時屏幕處於不可編輯狀態,需要按「i」鍵後才能編輯。編輯完後需要保存退出時的操作為,按ESC鍵然後輸入「:wq! 」保存文件,並退出vi編輯器。
⑷ linux已經安裝openssl,如何重新編譯php支持openssl模塊
下載php的源代碼,執行三步安裝就行了:
./configure
make && sudo make install
sudo make clean
就可以了,然後編輯php.ini文件加入模塊支持:
extensions=openssl.so
好了。大工告成~~~
⑸ linux下編譯PHP,並使之關聯Apache,有沒有高手,求助啊。
如果是rpm報的話,默認是不用結合的,只要把php文件放到apache的文件路徑下就好
如果是源碼包的話,我建議重新編譯php軟體,進行如下配置:
[/root/Desktop/mysql]#tar jxf php-5.2.9.tar.bz2 -C /usr/local/src/
[/usr/local/src/php-5.2.9]#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs:用apache的apxs工具把php編譯成apache的一個模塊
--with-mysql=/usr/local/mysql:與mysql結合(如果沒有安裝mysql話,就不要此項了)
[/usr/local/src/php-5.2.9]#make
[/usr/local/src/php-5.2.9]#make install
[/usr/local/src/php-5.2.9]#cp php.ini-dist /usr/local/php/
[/usr/local/php]#mv php.ini-dist php.ini
[/usr/local/php]#ls
bin etc include lib man php.ini
[/usr/local/apache2/moles]#ls libphp5.so
libphp5.so
[/usr/local/apache2]#cd conf/httpd.conf
99 LoadMole php5_mole moles/libphp5.so 模塊
355 AddType application/x-httpd-php .php 識別php網頁
212 DirectoryIndex index.html index.php 默認網頁