Installing mcrypt on Mac OSX (10.5) from PHP 5.2.8 source fails tests, what do I do?
So I'm trying to install mcrypt on my local for development. I've never compiled from source before, so please bear with me, but the short of what I've done is:
- Download and install libmcrypt-2.5.8 (from source)
- Download compiled mcrypt.so from http://www.viames.it/mac-os-x.html (note: the compiled gd.so seems to work fine)
- Update php.ini (to include relevant lines)
- Restart web sharing (apache); pages can't be loaded
- Remove extension=mcrypt.so line and restart apache, pages load again)
- Download PHP 5.2.8 source from php.net, and try to configure and install mcrypt from /ext/mcrypt
At this point, when I run make test, things fail.
Number of tests : 36 36
Tests skipped : 0 ( 0.0%) --------
Tests warned : 0 ( 0.0%) ( 0.0%)
Tests failed : 36 (100.0%) (100.0%)
Expected fail : 0 ( 0.0%) ( 0.0%)
Tests passed : 0 ( 0.0%) ( 0.0%)
Just in case anyway, I went ahead and did sudo make install, update php.ini, and tried to load pages. Pages loaded fine. I went to my phpinfo page, but mcrypt isn't shown there at all. I went back and forth on this a couple of times, but nothing happened still.
I'm confused about what to do now, as I'm not sure what I was supposed to do when the make tests failed, which is, I suspect, why my mcrypt isn't working at all (even if the .so file is there). I'm including the make test failed summary result below.
Any help would be greatly appreciated :)
FAILED TEST SUMMARY --------------------------------------------------------------------- Test for blowfish compatibility [tests/blowfish.phpt] Bug #35496 (Crash in mcrypt_generic()/mdecrypt_generic() without proper init). [tests/bug35496.phpt] Bug #37595 (mcrypt_generic calculates data length in wrong way) [tests/bug37595.phpt] Bug #41252 (Calling mcrypt_generic without first calling mcrypt_generic_init crashes) [tests/bug41252.phpt] Bug #46010 (warnings incorrectly generated for iv in ecb mode) [tests/bug46010.phpt] Bug #8040 (MCRYPT_MODE_* do not seem to exist) [tests/bug8040.phpt] mcrypt_cbc [tests/mcrypt_cbc.phpt] mcrypt_cbf [tests/mcrypt_cbf.phpt] mcrypt_create_iv [tests/mcrypt_create_iv.phpt] mcrypt_decrypt [tests/mcrypt_decrypt.phpt] mcrypt_ecb [tests/mcrypt_ecb.phpt] mcrypt_enc_get_algorithms_name [tests/mcrypt_enc_get_algorithms_name.phpt] mcrypt_enc_get_block_size [tests/mcrypt_enc_get_block_size.phpt] mcrypt_enc_get_iv_size [tests/mcrypt_enc_get_iv_size.phpt] mcrypt_enc_get_key_size [tests/mcrypt_enc_get_key_size.phpt] mcrypt_enc_get_modes_name [tests/mcrypt_enc_get_mode_name.phpt] mcrypt_enc_get_supported_key_sizes [tests/mcrypt_enc_get_supported_key_sizes.phpt] mcrypt_enc_is_block_algorithm [tests/mcrypt_enc_is_block_algorithm.phpt] mcrypt_enc_is_block_algorithm_mode [tests/mcrypt_enc_is_block_algorithm_mode.phpt] mcrypt_enc_is_block_mode [tests/mcrypt_enc_is_block_mode.phpt] mcrypt_enc_self_test [tests/mcrypt_enc_self_test.phpt] mcrypt_get_block_size [tests/mcrypt_get_block_size.phpt] mcrypt_get_cipher_name [tests/mcrypt_get_cipher_name.phpt] mcrypt_enc_get_iv_size [tests/mcrypt_get_iv_size.phpt] mcrypt_get_key_size [tests/mcrypt_get_key_size.phpt] mcrypt_list_algorithms [tests/mcrypt_list_algorithms.phpt] mcrypt_list_modes [tests/mcrypt_list_modes.phpt] mcrypt_module_get_algo_block_size [tests/mcrypt_module_get_algo_block_size.phpt] mcrypt_module_get_algo_key_size [tests/mcrypt_module_get_algo_key_size.phpt] mcrypt_module_get_supported_key_sizes [tests/mcrypt_module_get_supported_key_sizes.phpt] mcrypt_module_is_block_algorithm [tests/mcrypt_module_is_block_algorithm.phpt] mcrypt_module_is_block_algorithm_mode [tests/mcrypt_module_is_block_algorithm_mode.phpt] mcrypt_module_is_block_mode [tests/mcrypt_module_is_block_mode.phpt] mcrypt_module_open [tests/mcrypt_module_open开发者_如何学Go.phpt] mcrypt_module_self_test [tests/mcrypt_module_self_test.phpt] mcrypt_ofb [tests/mcrypt_ofb.phpt]
Install Xcode via the AppStore
Install MacPorts (http://guide.macports.org/#installing.macports)
Install libmcrypt using port
port install libmcrypt
Download PHP source (http://php.net/downloads.php)
Compile the extension before installing it
cd /directory/to/php/source/ext/mcrypt
phpize .
./configure \
--with-php-config=`which php-config` \
--with-mcrypt=/opt/local
make
sudo make install
精彩评论