
標題: [求助] 升級PHP5.3.10后,發(fā)現FPM下總是提示無權限訪問文件 [打印本頁]
作者: kazaff 時間: 2012-8-20 20:06 標題: 升級PHP5.3.10后,發(fā)現FPM下總是提示無權限訪問文件
今天把php5.2升級到PHP5.3.10,以這種--enable-fpm這種方式,可是發(fā)現restart服務后,提示無權限訪問任何頁面!
我對Linux權限本身就一頭霧水,請高人指點,推測一下是因為什么原因?
我本來以為是php-fpm的權限問題,修改對應配置文件的user和group參數為www后,還是老樣子!我崩潰了!
奇怪的是如果我去掉在httpd.conf中增加的php-fpm的參數,啟動服務后,phpinfo提示的還是5.2!我崩潰了!
更奇怪的是,我切換到nigex后,啟動服務,phpinfo提示的就是5.3.10,而且是FPM模式,媽的,我真崩潰了!
誰來救救我!
作者: qqcm 時間: 2012-8-20 21:08
lanmp中nginx與apache的php是分開編譯的,apache不支持php-fpm啟動,只有nginx才支持php-fpm啟動。需要apache支持php-fpm需要重新編譯apache。
1.安裝apache fastcgi模塊
mod_fastcgi下載地址:http://www.fastcgi.com/dist/
tar -zxvf mod_fastcgi-current.tar.gz
cd mod_fastcgi-2.4.6
cp Makefile.AP2 Makefile
make top_dir=/path/to/apache2 #你的apache安裝路徑或者直接編輯Makefile[則不需加top_dir參數]
make install top_dir=/path/to/apache2
2.安裝php-fpm
在安裝PHP-FPM編譯的時候會報找不到libevent,可以執(zhí)行
yum -y install libevent*
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
tar zxvf libevent-1.4.12-stable.tar.gz
cd libevent-1.4.12
./configure --prefix=$prefix
mak && make install
tar -jxvf php-5.3.3.tar.bz2
cd php-5.3.3
./configure \
--prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \
--with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-zlib --with-curl --with-jpeg-dir --with-freetype-dir --with-png-dir \
--with-libxml-dir=/usr/ --with-gd --with-openssl \
--with-openssl --with-ldap --with-ldap-sasl --with-xmlrpc --without-pear \
--enable-xml --enable-gd-native-ttf \
--enable-ctype --enable-calendar --enable-inline-optimization \
--enable-magic-quotes --with-bz2 --enable-mbstring \
--enable-fpm --enable-safe-mode --enable-bcmath --enable-shmop \
--enable-sysvsem --enable-mbregex --enable-mbstring --enable-pcntl \
--enable-zip --enable-ftp --enable-sockets --enable-soap
--with-libevent-dir=/usr
make && make install
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
cp -r sapi/fpm/php-fpm.conf /usr/local/etc/
配置php-fpm.conf文件中相關參數
啟動php-fpm
/etc/init.d/php-fpm start
3.修改apache,讓apache支持php-fpm
vi httpd.conf
add LoadModule fastcgi_module modules/mod_fastcgi.so
在vhosts.conf文件的項目中加入以下
ScriptAlias /cgi-bin/ "/map/app/php5_poi/bin/"
FastCgiExternalServer /map/app/php5_poi/bin/php-fpm -host 127.0.0.1:9000 #php由外部的fastcgi來處理
AddType application/x-httpd-php .php
AddHandler php5-fastcgi .php
Action php5-fastcgi /cgi-bin/php-fpm
#Action php5-fastcgi /cgi-bin/php-fpm中的php-fpm一定要和FastCgiExternalServer中的文件名一樣.而且/cgi-bin/和前面的ScriptAlias的路徑也要一樣,兩句放一塊就是說上面的映射也就是所有的.php文件都由/cgi-bin/php-fpm 處理
否則會出錯的.
<Directory "/map/app/php5_poi/bin/">
Options -Indexes FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
</Directory>
加完以上的,安裝完成了。但是php-fpm.conf配置文件需要優(yōu)化。
作者: kazaff 時間: 2012-8-20 21:45
回復 2# qqcm
您指的重新編譯apache,是不是就是mod_fastcgi的編譯和配置?
基本上你發(fā)的步驟我都做了,不過我發(fā)現你帖的代碼應該不是基于在wdlinux的吧?應該是你自己配置的環(huán)境!
#Action php5-fastcgi /cgi-bin/php-fpm中的php-fpm一定要和FastCgiExternalServer中的文件名一樣.而且/cgi-bin/和前面的ScriptAlias的路徑也要一樣,兩句放一塊就是說上面的映射也就是所有的.php文件都由/cgi-bin/php-fpm 處理
否則會出錯的.
<Directory "/map/app/php5_poi/bin/">
Options -Indexes FollowSymLinks +ExecCGI
Order allow,deny
Allow from all
</Directory>
加完以上的
上面這部分內容我不是很明白,能否給我看一下您的apache配置文件呢?感激不盡
作者: kazaff 時間: 2012-8-20 23:24
回復 2# qqcm
Not FoundThe requested URL /cgi-bin/php-fpm/index.php was not found on this server.
我按照您的步驟又測試了一遍,不知道這個問題是為什么?
作者: kazaff 時間: 2012-8-20 23:29
回復 2# qqcm
阿西吧,我去掉httpd.conf中原先的那個ScriptAlias后,提示又變了:
ForbiddenYou don't have permission to access /cgi-bin/php-fpm/phpinfo.php on this server.
我不清楚為什么我的根目錄變成這樣了?而且這次提示又是沒權限!fuck
作者: kazaff 時間: 2012-8-20 23:41
媽的,真搞不懂權限問題,nobody用戶不行么?也不能改成root,我還能怎么辦?我都不確定是不是這個設置的問題。“⑽靼,崩潰了
作者: qqcm 時間: 2012-8-21 01:20
回復 6# kazaff
你編譯的是wdlinux的環(huán)境,那么就需要遵守wdlinux的路徑來安裝顯然網站目錄都沒配置正確。還要注意權限問題。php-fpm本身是為nginx量身定制,運行于apache可以說牽強了些。畢竟已經不再是php5.2.x時的php-fpm了。
作者: kazaff 時間: 2012-8-21 08:11
回復 7# qqcm
那您能說一下我應該如何設置權限么?
作者: kazaff 時間: 2012-8-21 10:33
回復 8# kazaff
--with-libevent-dir=/usr這個參數我在編譯php5.3.16的時候提示unknow~正常么?
作者: qqcm 時間: 2012-8-21 21:13
回復 9# kazaff
聽我的就不要再apache中用php-fpm,apache要安裝fastcgi模塊,而這個東西好幾年沒更新了,不穩(wěn)定。針對你的問題請去掉--with-libevent-dir 要么 運行一下 yum -y install libevent 先把這個模塊安裝了再編譯php
作者: kazaff 時間: 2012-8-22 16:34
回復 10# qqcm
嗯,謝謝,我已經放棄了,太TM折騰人了!
作者: hoteri 時間: 2012-9-17 22:18
wdlinux 這方面太欠缺了
歡迎光臨 WDlinux官方論壇 (http://www.fsowen.com/bbs/) |
Powered by Discuz! 7.2 |