Установка mcrypt на Mac OSX (10.5) из исходного кода PHP 5.2.8 не проходит тесты, что мне делать? - PullRequest
0 голосов
/ 13 октября 2009

Итак, я пытаюсь установить mcrypt на локальный компьютер для разработки. Я никогда не компилировал из исходного кода, поэтому, пожалуйста, потерпите меня, но суть того, что я сделал:

  1. Загрузите и установите libmcrypt-2.5.8 (из исходного кода)
  2. Скачать скомпилированный mcrypt.so с http://www.viames.it/mac-os-x.html (примечание: скомпилированный gd.so, кажется, работает нормально)
  3. Обновление php.ini (для включения соответствующих строк)
  4. Перезапустить общий доступ к сети (apache); страницы не могут быть загружены
  5. Удалите расширение = строку mcrypt.so и перезапустите apache, страницы снова загрузятся)
  6. Загрузите исходный код PHP 5.2.8 с php.net и попробуйте настроить и установить mcrypt из / ext / 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.

Любая помощь будет принята с благодарностью:)

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.phpt]
mcrypt_module_self_test [tests/mcrypt_module_self_test.phpt]
mcrypt_ofb [tests/mcrypt_ofb.phpt]

1 Ответ

0 голосов
/ 03 апреля 2013

Установить Xcode через AppStore

Установить MacPorts (http://guide.macports.org/#installing.macports)

Установить libmcrypt через порт

port install libmcrypt

Скачать исходный код PHP (http://php.net/downloads.php)

Скомпилируйте расширение перед его установкой

cd /directory/to/php/source/ext/mcrypt
phpize .
./configure \
--with-php-config=`which php-config` \
--with-mcrypt=/opt/local
make 
sudo make install
...