2013-02-18 124 views
11

如何在mac上安裝gettext?如何在MacOS上安裝gettext X

我得到我的PHP頁面一個這樣的錯誤:

Fatal error: Call to undefined function bindtextdomain() 

,它是因爲我沒有gettext的安裝。

我找不到關於如何安裝它的好說明。我已經嘗試使用:

brew install gettext 

,並在這裏把一些文件:

/usr/local/Cellar/gettext/0.18.2

,但我不知道該怎麼辦那。

更新:不要試圖用自制的,現在這個方法我試過unsucessfully使用wget:

下載使用wget的

cd ~/Downloads 
wget http://ftp.gnu.org/gnu/gettext/gettext-0.18.2.tar.gz 
tar -zxvf gettext-0.18.2.tar.gz 
cd gettext-0.18.2 
./configure 
make 

化妝檢查是可選的運行自檢

make check 

我得到的錯誤:

化妝[3]:*** [檢查的測試]錯誤1

化妝[2]:*** [檢查-AM]錯誤2

化妝[1]:*** [入住遞歸]錯誤1

sudo make install 

這裏安裝它: 在/ usr/local/share下/ gettext的

這裏的文檔: 在/ usr /本地/共享/ DOC/gettext的

,但我如何使我的PHP頁面能夠使用gettext和bindtextdomain()函數?

回答

8

我終於明白了。你必須重新配置php,所以我最終從5.3.15升級到5.4.12。這些網站是非常有益的:

http://mac.tutsplus.com/tutorials/server/upgrading-the-native-php-installation-on-os-x-mountain-lion/

http://mansion.im/2011/php-with-intl-and-gettext-on-osx-lion/

#Install dependencies 
brew install libjpeg 
brew install pcre 
brew install libxml2 
brew install mcrypt 

#Get autoconf just because 
brew install autoconf 

#Install Intl extension 
#Install ICU 
#Download from http://site.icu-project.org/download/48#ICU4C-Download 
cd ~/Downloads 
tar xzvf icu4c-4_8_1-src.tgz 
cd icu/source 
./runConfigureICU MacOSX 
make 
sudo make install 

cd ~/Downloads/php-5.4.12/ext/intl 
phpize 
./configure --enable-intl 
make 
sudo cp modules/intl.so /usr/lib/php/extensions/no-debug-non-zts-20090626/ 

#Install gettext 
#Download from http://ftp.gnu.org/gnu/gettext/ 
cd ~/Downloads 
tar xzvf gettext-0.18.1.1.tar.gz 
cd gettext-0.18.1.1 
./configure 
make 
sudo make install 

cd ~/Downloads/php-5.4.12/ext/gettext 
phpize 
./configure  
make 
sudo cp modules/gettext.so /usr/lib/php/extensions/no-debug-non-zts-20090626/ 

#Add intl and get text to php.ini 
cd ~/Downloads/php-5.4.12 
nano php.ini-development 
#Add these lines 
extension=intl.so 
extension=gettext.so 

#Download PHP source files from php.net 
cd ~/Downloads 
tar xzvf php-5.4.12.tar.bz2 
cd php-5.4.12 

./configure \ 
--prefix=/usr \ 
--with-gettext \ 
--mandir=/usr/share/man \ 
--infodir=/usr/share/info \ 
--sysconfdir=/private/etc \ 
--with-apxs2=/usr/sbin/apxs \ 
--enable-cli \ 
--with-config-file-path=/etc \ 
--with-libxml-dir=/usr \ 
--with-openssl=/usr \ 
--with-kerberos=/usr \ 
--with-zlib=/usr \ 
--enable-bcmath \ 
--with-bz2=/usr \ 
--enable-calendar \ 
--with-curl=/usr \ 
--enable-dba \ 
--enable-exif \ 
--enable-ftp \ 
--with-gd \ 
--enable-gd-native-ttf \ 
--with-icu-dir=/usr \ 
--with-iodbc=/usr \ 
--with-ldap=/usr \ 
--with-ldap-sasl=/usr \ 
--with-libedit=/usr \ 
--enable-mbstring \ 
--enable-mbregex \ 
--with-mysql=mysqlnd \ 
--with-mysqli=mysqlnd \ 
--without-pear \ 
--with-pdo-mysql=mysqlnd \ 
--with-mysql-sock=/var/mysql/mysql.sock \ 
--with-readline=/usr \ 
--enable-shmop \ 
--with-snmp=/usr \ 
--enable-soap \ 
--enable-sockets \ 
--enable-sysvmsg \ 
--enable-sysvsem \ 
--enable-sysvshm \ 
--with-tidy \ 
--enable-wddx \ 
--with-xmlrpc \ 
--with-iconv-dir=/usr \ 
--with-xsl=/usr \ 
--enable-zip \ 
--with-imap=/usr/local/imap-2007 \ 
--with-kerberos \ 
--with-imap-ssl \ 
--enable-intl \ 
--with-pcre-regex \ 
--with-pgsql=/usr \ 
--with-pdo-pgsql=/usr \ 
--with-freetype-dir=/usr/X11 \ 
--with-jpeg-dir=/usr \ 
--with-png-dir=/usr/X11 

make test 
sudo make install 

#Restart Apache 
sudo apachectl restart 
+1

感謝後鏈接gettext的;這幫助我修復了「-bash:envsubst:命令沒有找到」我在我的Mac上(OS X 10.8.5) – 2014-06-22 21:43:00

44

您可以使用brew安裝它

brew install gettext 
brew link --force gettext 
+4

我希望這工作,它似乎並沒有鏈接到從mac os發送的PHP – Rito 2016-01-25 12:01:02

+0

這對我來說非常合適在OSX El Capitan。 – brujoand 2016-05-10 08:54:38

+0

感謝它的工作 – 2017-03-09 06:57:56