2015-04-05 2 views
0

Я не могу сделать ioncube encoder Работает с Apache 2.4.12 и PHP 5.5.8. Итак, это то, что я сделал сейчас:Ошибка установки ионной трубки на apache 2.4

1. Installed httpd-2.4.12-win32-VC11 [http://www.apachelounge.com/download/] 
2. Installed php-5.5.8-Win32-VC11-x64.zip [http://windows.php.net/downloads/releases/archives/] 

Их сырая комбинация работает нормально - я могу запустить PHP скрипты и т.д. Я тогда:

3. Installed ioncube for Windows VC11 (64 bits) [https://www.ioncube.com/loaders.php] 

Я сделал исправление php.ini и когда я do php -m Я вижу, что он загружает расширение ioncube без каких-либо ошибок. Однако, когда я сейчас запускаю Apache, я получаю сообщение об ошибке zend_get_hash_value и php5ts.dll. (PS. Комбинация с Apache 2.2, PHP 5.4 и ioncube работает для меня, но кажется довольно устаревшей).

+0

Что такое * точное сообщение об ошибке? –

+0

'Точка входа в процедуру zend_get_hash_value не может быть расположена в динамической библиотеке ссылок php5ts.dll' – Jacobian

ответ

1

Похоже, что вы не согласны с потоковой версией Apache и ionCube Loader. Расширения PHP должны соответствовать точно версии, на которой они работают, то есть PHP с включенной поддержкой потоков имеет, чтобы иметь потокобезопасный загрузчик.

Для того, чтобы подтвердить это, перейдите к выходу вашего phpinfo(); и найдите информацию Thread Safety. Если он говорит disabled, убедитесь, что у вас есть версия ionCube Loader Non-TS (Win x64 Non-TS zip). Аналогично, если он говорит enabled, убедитесь, что вам нужна поточная версия погрузчика (Win x64 TS zip).

Кроме того, пожалуйста, рассмотрите возможность использования 32bit PHP/Apache на Windows, поскольку PHP 64bit еще помечена как экспериментальная и может вызвать проблемы с Ioncube Loader:

х64 сборки PHP для Windows, следует считать экспериментальными , и еще не обеспечивают поддержку 64-битного целого или большого файла (source)

+0

Я знаю это. Непоточные безопасные версии PHP помечены как 'php-5.5.9-nts-Win32-VC11-x64.zip', тогда как у меня есть' php-5.5.8-Win32-VC11-x64.zip', поэтому мой PHP потокобезопасный. Аналогично, версия Threader, не относящаяся к потоку, помечена как «Windows VC11 (Non-TS) (64 бит)», но у меня есть «Windows VC11 (64 бит)», поэтому она также является потокобезопасной. Таким образом, между PHP и загрузчиком существует взаимно однозначное сопоставление. Они оба являются потокобезопасными, как VC11, так и оба 64 бита. И, кроме того, как я уже сказал, если я проверю 'php.exe -modules', я вижу, что PHP загружает этот загрузчик ioncube Loader. – Jacobian

+0

@Jacobian Если я правильно помню, PHP будет иногда показывать расширение как правильно загруженное, даже если это неправильная версия, но сбой, если вы попытаетесь на самом деле использовать его - так что я просто хотел убедиться :). Вы используете * 64-битный PHP? Несмотря на то, что загрузчик проходит через каждый тестовый тест на наших машинах, это очень хорошо, у нас были некоторые проблемы в прошлом с 64-битным PHP на Windows из-за того, что PHP по-прежнему использует 32-битные значения вместо 64-битных значений, что может вызвать проблемы (хотя ваша ошибка может указывать в противном случае, посмотрим на это) – SebiH

+0

Можете ли вы предложить мне, какую комбинацию Apache 2.4 и PHP я должен использовать? Я провел целый день и пробовал десятки комбинаций, но безуспешно. Я попробовал apache 2.4 + php x86, но получил другие ошибки, не связанные с загрузчиком. Итак, если у вас есть реальный рабочий пример Apache 2.4 + php + loader, я бы действительно одобрил вашу помощь. – Jacobian

Смежные вопросы