LINUX上有兩個php
/usr/bin/php
/usr/local/php55/bin/php
$ php --version
PHP 5.4.42 (cli)
$ /usr/local/php55/bin/php --version
PHP 5.5.28 (cli)
要怎麼讓nginx 跑的是 /usr/local/php55/bin/php 的php?
=> 看你的 php-fpm 是跑在哪裡啊,nginx 一定得用 php-fpm 的 fastcgi
找不到php-fpm指令,但有在跑
$ which php-fpm
/usr/bin/which: no php-fpm in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/bear/bin)
$ ps axu | grep php-fpm
root 827 0.0 0.1 220016 4720 ? Ss Sep21 2:51 php-fpm: master process (/etc/php-fpm.conf)
www 829 0.0 0.4 231124 17476 ? S Sep21 17:56 php-fpm: pool www
www 22389 0.0 0.3 232648 14560 ? S Sep21 17:54 php-fpm: pool www
www 22563 0.0 0.3 227552 13332 ? S Oct05 14:00 php-fpm: pool www
CentOS
查有沒有裝php-cli(編譯裝的查不到)
$ rpm -qa | grep php-cli
查php-cli裝在哪裡(編譯裝的查不到)
$ rpm -qs php-cli
Ubuntu
$ dpkg -L php5-fpm # 列出檔案
$ dpkg -S php5-fpm # 搜尋放在哪
查nginx ( sites-available )設定檔
...
fastcgi_pass 127.0.0.1:9000;
127.0.0.1:9000 這個是 php-fpm,表示你的 127.0.0.1:9000 這個 port 是 php5.5 開啟來的
就是 sudo service php5-fpm start ( => 去 call /etc/init.d/php5-fpm )所開啟的
查 php5-fpm startup scripts
# vim /etc/init.d/php5-fpm
...
prefix=/usr/local/php55
=> 就是他,只是我沒想到他會去改那隻 startup scripts,不要搞髒他啊 . .
Rellik:
我討厭用一些 pip rvm 之類的東西
因為這實際上並沒有進 centos 官方測試
安裝對應的路徑也不一樣
你隨便用一些奇怪套件安裝方式會把自己系統搞髒
最恐怖的是萬一這類的工具沒有把 dependency 弄好的話
其實很恐怖
他可能會蓋掉一些centos 或是 ubuntu 官方的套件
所以除非有特定版本需求
不然我大部分都還是以官方的套件管理系統為主
這樣管理機器上也不用擔心會踩到地雷 . . .
我在 freebsd 上用 ports 安裝的話就是下載原始碼啊
問題是 linux 上原始碼並不會進套件資料庫去管控起來
所以裝完以後你久了就忘了
根本不記得你有裝過什麼東西
freebsd 上面 ports 下載來的會盡套件資料庫控管
只是你要花時間編譯就是
總之你要自己編譯安裝也是可以
但前提是你要怎麼控管整個 flow ?
不要今天想到缺什麼就自己跑去下載原始碼開始編譯 . . .
系統就是這樣子被搞髒的
參考資料:
http://www.howtogeek.com/howto/ubuntu/see-where-a-package-is-installed-on-ubuntu/ See Where a Package is Installed on Ubuntu
沒有留言:
張貼留言