Ali*_*mii 4 php macos homebrew mcrypt
我正在尝试使用Homebrew在Mountain Lion上的PHP 5.4.11中安装mcrypt支持,我遇到了无法解决的问题.
我已经在我的Mac上手动安装了PHP 5.4.11.先前已经使用Homebrew安装了mcrypt.
当我加载phpMyAdmin时,它会告诉我mcrypt没有启用.
所以,搜索谷歌,我意识到,不知何故,mcrypt没有被加载,因为当我加载我的phpinfo文件时没有引用它.
@DavidYell在回答另一个问题时,在OSX Mountain Lion上安装PHP的mcrypt扩展提示了以下修复
brew install mcrypt php53-mcrypt
以下是我发出命令的结果:
$ brew install mcrypt php54-mcrypt
Error: mcrypt-2.5.8 already installed
==> Installing php54-mcrypt dependency: autoconf
==> Downloading http://ftpmirror.gnu.org/autoconf/autoconf-2.69.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/autoconf/2.69
==> make install
/usr/local/Cellar/autoconf/2.69: 69 files, 2.0M, built in 29 seconds
==> Installing php54-mcrypt dependency: freetype
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/freetype-2.4.10.mountainlion.bottle.tar.gz
######################################################################## 100.0%
==> Pouring freetype-2.4.10.mountainlion.bottle.tar.gz
/usr/local/Cellar/freetype/2.4.10: 56 files, 2.5M
==> Installing php54-mcrypt dependency: gettext
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/gettext-0.18.2.mountain_lion.bottle.tar.gz
######################################################################## 100.0%
==> Pouring gettext-0.18.2.mountain_lion.bottle.tar.gz
==> Caveats
This formula is keg-only: so it was not symlinked into /usr/local.
OS X provides the BSD gettext library and some software gets confused if both are in the library path.
Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:
LDFLAGS: -L/usr/local/opt/gettext/lib
CPPFLAGS: -I/usr/local/opt/gettext/include
==> Summary
/usr/local/Cellar/gettext/0.18.2: 366 files, 11M
==> Installing php54-mcrypt dependency: libpng
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/libpng-1.5.13.mountainlion.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libpng-1.5.13.mountainlion.bottle.tar.gz
/usr/local/Cellar/libpng/1.5.13: 14 files, 1.0M
==> Installing php54-mcrypt dependency: zlib
==> Downloading http://zlib.net/zlib-1.2.7.tar.gz
######################################################################## 100.0%
==> Patching
patching file configure
==> ./configure --prefix=/usr/local/Cellar/zlib/1.2.7
==> make install
==> Caveats
This formula is keg-only: so it was not symlinked into /usr/local.
Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.
Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:
LDFLAGS: -L/usr/local/opt/zlib/lib
CPPFLAGS: -I/usr/local/opt/zlib/include
==> Summary
/usr/local/Cellar/zlib/1.2.7: 9 files, 384K, built in 15 seconds
==> Installing php54-mcrypt dependency: php54
==> Downloading http://www.php.net/get/php-5.4.11.tar.bz2/from/this/mirror
######################################################################## 100.0%
==> Downloading patches
######################################################################## 100.0%
==> Patching
patching file Makefile.global
patch unexpectedly ends in middle of line
==> ./configure --prefix=/usr/local/Cellar/php54/5.4.11 --localstatedir=/usr/local/var --sysconfdir=/usr/local/etc/php/5.4 --with-config-file-path=/usr/local/etc/php/5.4 --with-config-file-scan-dir=/usr/local/etc/php/5.4/conf.d --with-iconv-dir=/usr --enable-dba --with-ndbm=/usr --enable-exif --enable-soap --enable-w
==> make
==> make install
==> /usr/local/Cellar/php54/5.4.11/bin/pear config-set php_ini /usr/local/etc/php/5.4/php.ini
==> Caveats
To enable PHP in Apache add the following to httpd.conf and restart Apache:
LoadModule php5_module /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so
The php.ini file can be found in:
/usr/local/etc/php/5.4/php.ini
???? PEAR ????
If PEAR complains about permissions, 'fix' the default PEAR permissions and config:
chmod -R ug+w /usr/local/Cellar/php54/5.4.11/lib/php
pear config-set php_ini /usr/local/etc/php/5.4/php.ini
???? Extensions ????
If you are having issues with custom extension compiling, ensure that this php is
in your PATH:
PATH="$(brew --prefix josegonzalez/php/php54)/bin:$PATH"
PHP54 Extensions will always be compiled against this PHP. Please install them
using --without-homebrew-php to enable compiling against system PHP.
==> Summary
/usr/local/Cellar/php54/5.4.11: 485 files, 37M, built in 7.2 minutes
==> Installing php54-mcrypt
==> Downloading http://www.php.net/get/php-5.4.11.tar.bz2/from/this/mirror
######################################################################## 100.0%
==> /usr/local/Cellar/php54/5.4.11/bin/phpize
==> ./configure --prefix=/usr/local/Cellar/php54-mcrypt/5.4.11 --with-php-config=/usr/local/Cellar/php54/5.4.11/bin/php-config --with-mcrypt=/usr/local/Cellar
==> make
==> Caveats
To finish installing mcrypt for PHP 5.4:
* /usr/local/etc/php/5.4/conf.d/ext-mcrypt.ini was created,
do not forget to remove it upon extension removal.
* Restart your webserver.
* Write a PHP page that calls "phpinfo();"
* Load it in a browser and look for the info on the mcrypt module.
* If you see it, you have been successful!
==> Summary
/usr/local/Cellar/php54-mcrypt/5.4.11: 3 files, 56K, built in 111 seconds
Run Code Online (Sandbox Code Playgroud)
重新启动apache后sudo apachectl restart我重新加载phpinfo但仍然没有mcrypt.
由于php54-mcrypt安装在php的Homebrew安装上,我继续使用brew uninstall php54-mcrypt并重新安装它,然后重新安装它brew install php54-mcrypt --without-homebrew-php.
重新启动了apache并加载了phpinfo,但仍然没有mcrypt.
我该如何解决这个问题.我很乐意为我安装自制的安装php,crypt和phpmyadmin,但我似乎无法用我当前的设置解决这个问题,这是基于http://mac.tutsplus.com上的建议/ tutorials/server/upgrade-the-native-php-installation-on-os-x-mountain-lion /.
谢谢.
Ali*_*mii 12
好吧,经过多次试验和错误,我解决了这个问题.
我首先必须再次卸载php54-mcrypt以删除--without-homebrew-php标志并重新安装它,支持由homebrew安装的php版本.
$ brew uninstall php54-mcrypt
Uninstalling /usr/local/Cellar/php54-mcrypt/5.4.11...
$ brew install php54-mcrypt
...
==> Summary
/usr/local/Cellar/php54-mcrypt/5.4.11: 3 files, 56K, built in 33 seconds
Run Code Online (Sandbox Code Playgroud)
然后,我编辑了我的httpd.conf文件并更改了php的位置.我刚刚注释掉了系统PHP,并为通过Homebrew安装的PHP的LoadModule指令添加了一个新行.
#LoadModule php5_module libexec/apache2/libphp5.so
LoadModule php5_module /usr/local/Cellar/php54/5.4.11/libexec/apache2/libphp5.so
Run Code Online (Sandbox Code Playgroud)
然后我通过Homebrew安装了phpmyadmin
brew install phpmyadmin
然后我将以下内容添加到httpd.conf的底部
Alias /phpmyadmin /usr/local/share/phpmyadmin
<Directory /usr/local/share/phpmyadmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
我做了任何我需要在自制软件安装的php.ini中进行的/usr/local/etc/php/5.4/php.ini更改,并修改了位于的phpmyadmin的配置文件/usr/local/share/phpmyadmin/config.inc.php.
然后我重新启动apache使用 sudo apachectl restart
一切都好!
| 归档时间: |
|
| 查看次数: |
13606 次 |
| 最近记录: |