32

Macにgettextをインストールするにはどうすればよいですか?

私のphpページの1つでこのエラーが発生します:

Fatal error: Call to undefined function bindtextdomain()

gettextがインストールされていないからです。

インストール方法についての適切な手順が見つかりません。私は使用してみました:

brew install gettext

そしてそれはここにいくつかのファイルを置きます:

/usr/local/Cellar/gettext/0.18.2

でもどうしたらいいのかわからない。

更新:自作を使用する代わりに、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

セルフテストを実行するには、makecheckはオプションです。

make check

私が得たエラー:

make [3]:***[check-TESTS]エラー1

make [2]:***[check-am]エラー2

make [1]:***[check-recursive]エラー1

sudo make install

ここにインストールされます:/ usr / local / share / gettext

そしてここのドキュメント:/ usr / local / share / doc / gettext

しかし、PHPページでgettextとbindtextdomain()関数を使用できるようにするにはどうすればよいですか?

4

4 に答える 4

90

brewインストール後にgettextをリンクするために使用できます

brew install gettext
brew link --force gettext
于 2015-11-24T14:33:11.863 に答える
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
于 2013-02-23T03:38:48.930 に答える
0

私は、マーベリックスでも機能する最も簡単な解決策を見つけました。ここにあります:https ://stackoverflow.com/a/11792640/512504

于 2014-01-02T13:54:19.530 に答える
0

phpの再インストールが許容できる場合は、ここから必要なphpバージョンをダウンロードしてインストールしてみてください。

私の場合、7.0バージョンを使用しました。再インストールする手順:

  1. ターミナルを開いて実行しますcurl -s https://php-osx.liip.ch/install.sh | bash -s 7.0
  2. インストールされたphpはに存在します/usr/local/php5-7.0.31-20180903-120321/lib(ディレクトリ名がphp5-7xxxxである理由はわかりませんが、インストールされたphpのバージョンは7.0です)

  3. でapache2設定を編集します/private/etc/apache2/httpd.conf(必要に応じてバックアップを作成します)

  4. に置き換え(「#」記号のコメントを外すことを忘れないでください)、保存して終了しますLoadModule php7_module libexec/apache2/libphp7.soLoadModule php7_module /usr/local/php5-7.0.31-20180903-120321/libphp7.so

  5. 最後に、を実行apachectl restart してApacheサーバーを再起動します。

enabled_gettext

于 2018-09-26T04:13:18.273 に答える