2009-03-05 32 views
4

當使用下面的配置標誌時,會報告以下錯誤,爲什麼會這樣?目錄很明顯存在。這是一個安裝在64位CentOS 5.2操作系統上的PHP 5.2.9。PHP配置--bindir

./phpconfig.scr:線11:--bindir =/USR/bin中:沒有這樣的文件或目錄

'的./configure' \
「主機= x86_64的-紅帽-Linux的GNU '\
'--build = x86_64的-紅帽-Linux的GNU' \
'--target = x86_64的-紅帽Linux的' \
'--program前綴=' \
' --prefix =/usr'\
'--exec-prefix =/usr'\
'--bindir =/usr/bin'\
'--sbindir =/usr/sbin目錄' \
'--sysconfdir = /等' \
'--datadir =/USR /股' \
'--includedir =的/ usr /包括' \
'--libdir =的/ usr/lib64下' \
'--libexecdir =的/ usr/libexec目錄' \
'--localstatedir = /變種' \
'--sharedstatedir =的/ usr/COM' \
'--mandir =的/ usr/share/man的' \
'--infodir =的/ usr /共享/信息' \
'--cache文件= ../config.cache的' \
「 - -with-LIBDIR = lib64下'\
'--with-config-file-path =/etc'\
'--with-config-file-scan-dir =/etc/php。d '\
' - 禁用調試' \
'--with-PIC' \
' - 禁用rpath的' \
'--without梨' \
' --with- BZ2' \
'--with捲曲' \
'--with-EXEC-DIR =/USR/bin中' \
'--with-freetype的-DIR =/USR' \
「 - 與-PNG-DIR =/USR」 \
'--enable-GD-天然-TTF' \
'--without-GDBM' \
'--with-gettext的' \
'--with-GMP' \
'--with-的iconv' \
'--with-JPEG-DIR =/USR' \
'--with-OpenSSL的' \
「 - 與-PNG '\
'--with-pspell' \
'--with-外籍-DIR =/USR' \
'--with-PCRE-正則表達式=/USR' \
' - 與-ZLIB」 \
'--with佈局= GNU' \
'--enable-EXIF' \
'--enable-FTP' \
'--enable-魔術引號' \
'--enable-插座' \
'--enable-SYSVSEM' \
'--enable-SYSVSHM' \
'--enable-sysvmsg' \
'--enable-軌道瓦爾' \
'--enable-透明sid' \
'--enable-YP' \
'--enable-WDDX' \
「 - with-kerberos'\
'--enable-ucd-snmp-hack'\
'--with-unixODBC = shared,/ usr'\
'--enable-內存限制'​​ \
'--enable-shmop' \
'--enable-日曆' \
'--enable-DBX' \
'--enable-DIO' \
'--without-的mime魔法' \
'--without-源碼' \
'--with-的libxml-DIR =/USR' \
'--with-XML' \
'--with-apxs2 =/usr/sbin/apxs'\
'--without-mysql'\
'--without-gd'\
'--without-ODBC' \
'--disable-DOM' \
' - 禁用DBA' \
'--without-的unixODBC' \
'--disable-PDO' \
「 - 禁用的XMLReader」 \
「 - 禁用的XmlWriter」 \
「 - 禁用JSON」

+0

2件事情,你檢查是否有任何其他版本編譯正確?還有,你確定你有寫權限/ usr/bin嗎? – Suroot 2009-03-06 02:47:21

回答

1

感謝您的回覆。事實證明,問題在於用於實際調用./configure的腳本。在腳本本身中,在bindir配置標誌之上有一個額外的空間。所以...

'--exec-prefix =/usr'\ _ < - 由下劃線表示的額外空間。
'--bindir =/usr/bin'\

所以轉義字符是逃離一個空間而不是返回。

ERRR。

希望這會幫助別人放鬆一個下午,試圖挖掘比明顯更深的下午。

0

我不知道是什麼原因你得到的錯誤,但我相信諸如--host,--target,--build等參數由配置過程推斷,因此不需要設置。如果讓配置過程收集這些信息,它可能會正確構建。嘗試刪除默認設置或不需要明確更改的所有選項。

+0

我刪除了以下內容,最終結果仍然相同... '--host = x86_64-redhat-linux-gnu'\ '--build = x86_64-redhat-linux-gnu'\ '--target = x86_64-redhat-linux'\ – Sivart 2009-03-05 22:52:11

0

您是否以正確的權限安裝?嘗試使用sudo。

0

運行configure命令的完整輸出將很有用。運行configure命令不需要任何權限,除了包含php源代碼的目錄。您只需要root權限即可運行「make install」。您是否驗證過您擁有該目錄中的所有文件?您可以嘗試運行

「sudo chown -R [youruser]:[yourgroup]」。

即使使用無效的bindir運行configure命令也會爲我完成。我測試使用PHP 5.2.9,但我運行的是32位操作系統。