所以我试图在我的本地安装 mcrypt 进行开发。我以前从未从源代码编译过,所以请多多包涵,但我所做的不足是:
- 下载并安装 libmcrypt-2.5.8(来自源代码)
- 从http://www.viames.it/mac-os-x.html下载已编译的 mcrypt.so (注意:编译后的 gd.so 似乎工作正常)
- 更新 php.ini(包括相关行)
- 重启网络共享(apache);页面无法加载
- 删除 extension=mcrypt.so 行并重新启动 apache,页面再次加载)
- 从 php.net 下载 PHP 5.2.8 源码,并尝试从 /ext/mcrypt 配置和安装 mcrypt
此时,当我运行 make test 时,事情失败了。
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%)
以防万一,我继续执行 sudo make install,更新 php.ini,并尝试加载页面。页面加载正常。我去了我的 phpinfo 页面,但那里根本没有显示 mcrypt。我为此来回走了几次,但仍然没有发生任何事情。
我对现在该做什么感到困惑,因为我不确定当 make 测试失败时我应该做什么,我怀疑这就是为什么我的 mcrypt 根本不工作(即使 .so 文件在那儿)。我在下面包含了 make 测试失败的摘要结果。
任何帮助将不胜感激 :)
失败的测试总结 -------------------------------------------------- ------------------ 测试河豚兼容性 [tests/blowfish.phpt] 错误 #35496(在没有正确初始化的情况下 mcrypt_generic()/mdecrypt_generic() 崩溃)。[测试/bug35496.phpt] 错误 #37595(mcrypt_generic 以错误的方式计算数据长度)[tests/bug37595.phpt] 错误 #41252(在没有先调用 mcrypt_generic_init 的情况下调用 mcrypt_generic 崩溃)[tests/bug41252.phpt] 错误 #46010(在 ecb 模式下错误地为 iv 生成警告)[tests/bug46010.phpt] 错误 #8040(MCRYPT_MODE_* 似乎不存在)[tests/bug8040.phpt] mcrypt_cbc [测试/mcrypt_cbc.phpt] mcrypt_cbf [测试/mcrypt_cbf.phpt] mcrypt_create_iv [测试/mcrypt_create_iv.phpt] mcrypt_decrypt [测试/mcrypt_decrypt.phpt] mcrypt_ecb [测试/mcrypt_ecb.phpt] mcrypt_enc_get_algorithms_name [测试/mcrypt_enc_get_algorithms_name.phpt] mcrypt_enc_get_block_size [测试/mcrypt_enc_get_block_size.phpt] mcrypt_enc_get_iv_size [测试/mcrypt_enc_get_iv_size.phpt] mcrypt_enc_get_key_size [测试/mcrypt_enc_get_key_size.phpt] mcrypt_enc_get_modes_name [测试/mcrypt_enc_get_mode_name.phpt] mcrypt_enc_get_supported_key_sizes [测试/mcrypt_enc_get_supported_key_sizes.phpt] mcrypt_enc_is_block_algorithm [测试/mcrypt_enc_is_block_algorithm.phpt] mcrypt_enc_is_block_algorithm_mode [测试/mcrypt_enc_is_block_algorithm_mode.phpt] mcrypt_enc_is_block_mode [测试/mcrypt_enc_is_block_mode.phpt] mcrypt_enc_self_test [测试/mcrypt_enc_self_test.phpt] mcrypt_get_block_size [测试/mcrypt_get_block_size.phpt] mcrypt_get_cipher_name [测试/mcrypt_get_cipher_name.phpt] mcrypt_enc_get_iv_size [测试/mcrypt_get_iv_size.phpt] mcrypt_get_key_size [测试/mcrypt_get_key_size.phpt] mcrypt_list_algorithms [测试/mcrypt_list_algorithms.phpt] mcrypt_list_modes [测试/mcrypt_list_modes.phpt] mcrypt_module_get_algo_block_size [测试/mcrypt_module_get_algo_block_size.phpt] mcrypt_module_get_algo_key_size [测试/mcrypt_module_get_algo_key_size.phpt] mcrypt_module_get_supported_key_sizes [测试/mcrypt_module_get_supported_key_sizes.phpt] mcrypt_module_is_block_algorithm [测试/mcrypt_module_is_block_algorithm.phpt] mcrypt_module_is_block_algorithm_mode [测试/mcrypt_module_is_block_algorithm_mode.phpt] mcrypt_module_is_block_mode [测试/mcrypt_module_is_block_mode.phpt] mcrypt_module_open [测试/mcrypt_module_open.phpt] mcrypt_module_self_test [测试/mcrypt_module_self_test.phpt] mcrypt_ofb [测试/mcrypt_ofb.phpt]