Я взял https://github.com/fraigo/docker-php4 и изменил файл Docker таким образом:
#
#-----[ OPEN ]------------------------------------------
#
Dockerfile
#
#-----[ FIND ]------------------------------------------
#
&& wget --no-check-certificate https://curl.haxx.se/download/archeology/curl-7.12.0.tar.gz \
#
#-----[ BEFORE, ADD ]-----------------------------------
#
&& wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8e.tar.gz \
&& tar zxvf openssl-0.9.8e.tar.gz \
&& cd openssl-0.9.8e \
&& CFLAGS=-fPIC ./config shared --prefix=/opt --openssldir=/opt no-asm \
&& make \
&& make install \
# \
&& cd /tmp/install \
#
#-----[ FIND ]------------------------------------------
#
# --with-openssl \
# --with-openssl-dir=/usr/local \
#
#-----[ REPLACE WITH ]----------------------------------
#
--with-openssl=/opt \
Мне пришлось сделать no-asm
, потому что я получал кучу " md5-x86_64.s:41: Ошибка: 0xd76aa478 выходит за пределы 32-битных ошибок смещения"со знаком и вещи CFLAGS=-fPIC
/ shared
, потому что я получаю" перемещение R_X86_64_32 против `.data 'не может использоваться при созданииобщий объект; перекомпилируйте с ошибкой -fPIC "libsshl.a ". Но теперь, после всего этого, я получаю следующую ошибку:
/tmp/install/php-4.4.0/sapi/cli/php: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
make[1]: *** [install-pear-installer] Error 127
make: *** [install-pear] Error 2
idk, как диагностировать эту ошибку. Любые идеи?
(я также понимаю, что это абсолютно древняя версия PHP / OpenSSL; я просто пытаюсь провести некоторое тестирование на каком-то очень старом унаследованном коде)
edit: я пытался поменяться местами/opt
с /usr/lib
и получил тот же результат.
Я также попробовал это с --with-openssl=/usr/lib --with-openssl-dir=/usr/lib \
вместо просто --with-openssl=/usr/lib
. Тот же результат.