2014-12-03 80 views
3

我打開在/ usr/local/bin目錄/ PECL瞭解它是如何工作的,它有,我有一個關於疑問,這阻止條件:慶典arobase包串

if test "/usr/local/bin/php" = '@'php_bin'@'; then 
    PHP=php 
    else 
    PHP="/usr/local/bin/php" 
    fi 

我相信條件從來沒有匹配過,因爲字符串「/ usr/local/bin/php」永遠不會改變,但是爲什麼在php_bin周圍添加arobases,做arobase有特殊含義嗎?

+1

它看起來像這可能是某種模板變量,在腳本被shell解釋之前被填充。 – 2014-12-03 11:25:04

回答

2

這是由PEAR安裝程序從template生成的。

PECL最好是通過PEAR安裝時使用的PHP程序運行,所以初始化器腳本嘗試使用絕對路徑來執行PHP。您看到的字符串用於檢查安裝程序未成功替換佔位符@[email protected]並使用PHP二進制文件的實際路徑的情況,在這種情況下,它將回退爲調用php命令的執行shell的默認二進制文件。