Как распространять скомпилированные расширения?

Я только начал экспериментировать с Zephir на выходных, и мне удалось скомпилировать и запустить расширение hello world на терминале Mac. Я установил AMPPS и пытаюсь установить это расширение на AMPPS. Не уверен, что мои шаги верны, но если я скопировал файл.so, я получаю эту ошибку от AMPPS:

Предупреждение: PHP Startup: невозможно загрузить динамическую библиотеку '/Applications/AMPPS/php-7.1/lib/extensions/ext/utils.so' - dlopen(/Applications/AMPPS/php-7.1/lib/extensions/ext/utils. итак, 9): подходящего изображения не найдено. Удалось найти: /Applications/AMPPS/php-7.1/lib/extensions/ext/utils.so: mach-o, но неверная архитектура /Applications/AMPPS/php-7.1/lib/extensions/ext/utils.so: stat() произошел сбой с errno=3 в поле Неизвестно в строке 07.1.2

Как правильно установить скомпилированные расширения на размещенных серверах в будущем?

1 ответ

ОШИБКА была очевидна: невозможно загрузить динамическую библиотеку '/Applications/AMPPS/php-7.1/lib/extensions/ext/utils.so' . Это может означать, что ваша.so библиотека не была найдена. Возможно, вы пропустили файл расширения lib по неверному пути. Так что вы можете попробовать набрать php -i | grep extension в вашем терминале. И это выведет ваш путь расширения как extension_dir => /usr/local/lib/php/extensions/no-debug-non-zts-20151012 => /usr/local/lib/php/extensions/no-debug-non-zts-20151012, Проверьте ваше расширение существует или нет в этом направлении. Кстати, вы можете с помощью команды php -m чтобы проверить, сколько расширений вы установили.

Другие вопросы по тегам