apache — Установка PHP Composer на Yocto / Arm Beaglebone

У нас есть собственный SOM, основанный на Beaglebone. Он имеет Apache2 и PHP 7, работающие в ветке Pyro проекта Poky.

PHP 7 прекрасно работает в Apache, однако я пытаюсь заставить PHP composer работать на плате с небольшим успехом.

Следуя Инструкция по установке композитора, это терпит неудачу с сообщением об ошибке, что у меня не включен ssl в php:

root@board-1:~# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"PHP Warning:  copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1
PHP Warning:  copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1
PHP Warning:  copy(https://getcomposer.org/installer): failed to open stream: No such file or directory in Command line code on line 1

Это мой php_7.%. Bbappend:

PACKAGECONFIG_append_pn-php = " apache2 "
EXTRA_OECONF = "--enable-mbstring \
--enable-wddx \
--enable-fpm \
--enable-zip \
--with-libdir=${baselib} \
--with-gettext=${STAGING_LIBDIR}/.. \
--with-zlib=${STAGING_LIBDIR}/.. \
--with-openssl=${STAGING_DIR_TARGET}${exec_prefix} \
--with-iconv=${STAGING_LIBDIR}/.. \
--with-mcrypt=${STAGING_DIR_TARGET}${exec_prefix} \
--with-bz2=${STAGING_DIR_TARGET}${exec_prefix} \
--with-config-file-path=${sysconfdir}/php/apache2-php${PHP_MAJOR_VERSION} \
${@base_conditional('SITEINFO_ENDIANNESS', 'le', 'ac_cv_c_bigendian_php=no', 'ac_cv_c_bigendian_php=yes', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'pam', '', 'ac_cv_lib_pam_pam_start=no', d)} \
${COMMON_EXTRA_OECONF} \
"

Как видите, я компилирую с SSL. Есть что-то, чего я здесь не хватает? Я не могу заставить композитора собираться на этом устройстве ARM (TI AM335x) и не могу найти инструкции, как это сделать.

0

Решение

После долгой борьбы ответ не слишком сложный. Но это отличается от официальных инструкций композитора.

Во-первых, я просто включил файл composer.phar (с их сайта) в мою сборку.

Затем я изменил свой composer.json, чтобы он выглядел следующим образом (я удалил некоторую информацию, но посмотрите в разделе «config»).

{
"name" : "com.something.whatever",
"type" : "project",
"authors" : [{
...
}
],
"config" : {
"preferred-install" : "dist",
"disable-tls" : true,
"secure-http" : false
},
"autoload" : {
"psr-4" : {
"something\\" : "classes/something"}
}
}

В этом случае composer не обновляется через ssl. Поэтому, в зависимости от вашей модели угрозы, это может быть проблемой. Для нашего проекта это не имеет значения.

0

Другие решения

Других решений пока нет …