php 與 php-fpm 調用的版本不一致,可以配置 php-fpm 指定某版本 php 嗎?

2015-05-14 16:09:06 +08:00
 SolidZORO

因為有需求需要在PHP 5.3上做開發,然後。

terminal看版本:

PHP

➜  ~  which php
/usr/local/bin/php
➜  ~  php -v
PHP 5.3.29 (cli) (built: May 14 2015 15:36:13) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2014 Zend Technologies
➜  ~  /usr/bin/php -v
PHP 5.5.20 (cli) (built: Feb 25 2015 23:30:53) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

PHP-FPM

which php-fpm
/usr/sbin/php-fpm
➜  ~  php-fpm -v
PHP 5.5.20 (fpm-fcgi) (built: Feb 25 2015 23:31:06)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

phpinfo().php

PHP Version 5.5.20

SHELL

.zshrc配置:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

.bash_profile配置:
export PATH="/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:$PATH"


任意地方 php -v的確是5.3的版本,為什麼php-fpm還是優先調用php5.5?不解。有什麼方法可以讓php-fpm指定調用某個版本的php嗎?

8547 次点击
所在节点    问与答
27 条回复
ooxxcc
2015-05-14 16:16:47 +08:00
你装了至少两套php啊

mac + homebrew?

brew install php53
vibbow
2015-05-14 16:16:49 +08:00
IIS的话可以针对每个host设置不同的PHP版本
Nginx应该也有地方设置的。

不过Linux下搞版本共存目测比Windows下纠结的多......
ooxxcc
2015-05-14 16:18:02 +08:00
/usr/bin/下是系统自带的
/usr/local/bin/是homebrew安装的

不知为何你安装的时候没带php-fpm
SolidZORO
2015-05-14 16:23:20 +08:00
@ooxxcc 沒錯,是兩套php

OSX Yosemite PHP ➜ /usr/bin/php (5.5)
brew PHP ➜ /usr/local/bin/php (5.3)

不過我shell配置是PATH="/usr/local/bin:/usr/bin/",那麼/usr/local/bin/php(5.3)要優於/usr/bin/php (5.5)被調用才對。

難道是我理解不對?
SolidZORO
2015-05-14 16:26:34 +08:00
@ooxxcc brew安裝的時候會自帶php-fpm嗎? 我的確在 /usr/local/bin/沒看到 php-fpm。我--with php-fpm編譯看看。
coosir
2015-05-14 16:39:59 +08:00
@SolidZORO 应该是
OSX Yosemite PHP ➜ /usr/bin/php (5.3)
brew PHP ➜ /usr/local/bin/php (5.5)
SolidZORO
2015-05-14 16:41:49 +08:00
@vibbow 對啊!Windows上面應為就一個NT內核,一次編譯隨便跑。Linux/OSX下就比較苦逼了,所有東西都需要現場make。我不是老一輩的人,實在不能理解,brew雖好,但又不夠靈活,有個什麼freetype沒編譯,下次想patch上去還要再make一次⋯⋯
SolidZORO
2015-05-14 16:42:48 +08:00
@coosir 不對,OSX Yosemite上自帶的就是5.5,我不需要那麼高的,所以要安裝5.3。
coosir
2015-05-14 16:48:00 +08:00
@SolidZORO 看错。。
我是备份后直接软连接/usr/bin/php到我想要的php的(比如/usr/local/bin/php), 所以系统和我自己用的就一致了
ooxxcc
2015-05-14 16:50:31 +08:00
@SolidZORO 程序内部的调用和你的PATH变量没什么关系吧,相对来说/usr/sbin/php-fpm调用同版本的/usr/sbin/php更合理

重装一个就行了

反正我用brew install php56得到的php附带php-fpm,5.3我就不清楚了
ooxxcc
2015-05-14 16:58:59 +08:00
https://github.com/Homebrew/homebrew-php

Installation

Setup the homebrew/dupes tap which has dependencies we need:

$ brew tap homebrew/dupes
Setup the homebrew/versions tap which has dependencies we need:

$ brew tap homebrew/versions
Then, run the following in your command-line:

$ brew tap homebrew/homebrew-php

$ brew install php53
SolidZORO
2015-05-14 17:04:48 +08:00
@ooxxcc 裝php53的確是這樣,但是53在brew上沒配php-fpm。我也懶得折騰了,用osx自己的php-fpm算了,然後把系統的php直接rm掉,ln -s 上brew的53。
lijinma
2015-05-14 17:15:25 +08:00
@SolidZORO 你可以这样做的

另外可以折腾下 phpbrew,哈哈哈哈哈
ooxxcc
2015-05-14 17:15:26 +08:00
@SolidZORO ....你还是别折腾混用了,php-fpm不一定调用php的
SolidZORO
2015-05-14 17:16:42 +08:00
@ooxxcc 的確不支持。
ooxxcc
2015-05-14 17:16:45 +08:00
@SolidZORO 看了一下php53安装的时候有个--without-fpm的选项,所以默认带fpm的
SolidZORO
2015-05-14 17:16:56 +08:00
@lijinma 好東西,謝謝,這就去try。
SolidZORO
2015-05-14 17:17:43 +08:00
@ooxxcc 這個是坑,會失敗。貌似是Yosemite上會。
ooxxcc
2015-05-14 17:23:34 +08:00
@SolidZORO 不是有预编译好的bottle么……
julyclyde
2015-05-14 23:20:37 +08:00
php-fpm本身就是一个SAPI,本身就有版本号这个属性
不是一个wrapper

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/191069

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX