2011-09-16 65 views
1

我有一臺全新的Mac,預裝了Lion。 我啓用了Apache,PHP模塊。Mac OS X Lion上的PHP:哪裏是gettext模塊?

phpinfo()的作品,但不支持gettext。

在php.ini中寫入extension=php_gettext.so沒有幫助。 所以我試圖locate它在文件系統中,但似乎沒有可用的PHP擴展。

OS X Lion中的PHP擴展在哪裏?

回答

0
/usr/lib/php/extensions/ 

您將在這裏找到他們...

的gettext似乎並沒有被包括在獅子的PHP版本。

1

OS X到目前爲止不包括gettext(自從我第一次嘗試10.4以來)。你必須自己構建它。我遵循下面的流程,並在10.6以下(從Apple論壇討論主題中獲得)工作。它現在仍然在10.7工作。請注意,這是安裝gettext模塊,而不是php_gettext。雖然它們的功能差不多,但初始化應該是不同的。記住,雖然交換正確的PHP版本的鏈接。我認爲10.7帶有PHP 5.3.6。你需要搜索它。

(之前或問題須藤-s)嘗試以此爲根:


的mkdir -p/SourceCache

CD/SourceCache

捲曲-O http://ftp.gnu.org/pub/gnu/gettext/gettext-0.17.tar.gz

焦油xzf gettext-0.17.tar.gz

cd gettext-0.17

MACOSXDEPLOYMENTTARGET = 10.6 CFLAGS =「 - arch i386 -arch x86_64 -g -Os -pipe -no -cpp-precomp」CCFLAGS =「 - arch i386 -arch x86_64 -g -Os -pipe」CXXFLAGS =「 - arch I386 -arch x86_64的-g -Os -pipe」 LDFLAGS = 「 - 拱i386的-arch x86_64的-bindatload」 運行./configure

使

使安裝


CD/SourceCache

curl -O http://www.opensource.apple.com/source/apachemod_php/apache_modphp-53/php-5.3.0.tar.bz2

焦油XJF PHP-5.3.0.tar.bz2

CD /SourceCache/php-5.3.0/ext/gettext

phpize

MACOSXDEPLOYMENTTARGET = 10.6 CFLAGS =「 - 拱i386 -arch x86_64 -g -Os -pipe -no -cpp-precomp「CCFLAGS =」 - arch i386 -arch x86_64 -g -Os -pipe「CXXFLAGS =」 - arch i386 -arch x86_64 -g -Os -pipe「LDFLAGS =「 - arch i386 -arch x86_64 -bindatload」。/配置

使

make install的


完成後,編輯/創建/etc/php.ini並添加: 延長=/usr/lib中/ PHP /分機/無調試 - 非ZTS-20090626/gettext.so

下一個問題: 須藤的apachectl優美

祝你好運!

+0

我認爲macports更簡單,但無論如何,謝謝。 – Francesco

+0

正如我在答案中所述,你可以使用MAMP的gettext.so和Lion/Mountain Lion版本的PHP。它非常簡單,對我來說就像是一個魅力 – mbritto

+0

對於其他人而言:我已經在運行10.5.8的基於PowerPC的Mac上成功構建了gettext-0.19.3。使'lang-bash'檢查失敗,但除此之外,它安裝正常。 – 2014-11-28 16:13:42

7

編輯:只是測試,只要你與最新版本更新MAMP 仍然工作在小牛。這裏是完整的教程:

我設法使用gettext.soMAMP與Mac OS X Apache/PHP本地服務器工作。下面是如何因此它:

  1. 下載並安裝MAMP(親不需要)
  2. 複製毫安gettext.so專爲PHP 5.5.10到小牛的本地PHP擴展文件夾:

    sudo cp /Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20100525/gettext.so /usr/lib/php/extensions/no-debug-non-zts-20100525/

  3. 更新小牛/etc/php.ini文件中加入這個新的生產線:

    extension=/usr/lib/php/extensions/no-debug-non-zts-20100525/gettext.so

  4. 重新啓動Apache:

    sudo apachectl restart

後,您可以使用_()gettext()功能。

感謝@MountainAsh注意到我們無法在此過程後移除MAMP,因爲gettext使用MAMP庫之一。

+0

截至評論第3步更改爲 'sudo cp /Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20100525/gettext.so/usr/lib/php/extensions/no-debug-non-zts-20100525 /' 並且步驟5不可能(卸載),因爲gettext.so會調用「/ Applications/MAMP/Library/lib/libiconv.2.dylib」 PHP load – MountainAsh

+0

除了我上面的評論,你可以從MAMP的800 + MB有效負載中刪除所有內容,並保留下列文件和目錄結構: '/ Applications/MAMP/Library/lib/libiconv.2.dylib'&'/ Applications/MAMP/Library/lib/libintl.8.dylib',將其降至1。2 MB – MountainAsh

+0

好的,我會用你的意見更新我的答案。謝謝 – mbritto

0

對我來說,從http://php-osx.liip.ch重新安裝當前的PHP版本(OS X 10.10.5 Yosemite上的5.5.29)是最簡單的解決方案 - 無需再構建自己的gettext.so擴展。