在 Docker 上运行 PHP 5.1.6

在 Docker 上运行 PHP 5.1.6

是的,标题是正确的!很久以前,一个学生协会开发了一个网站,现在这个网站具有一些历史意义。我正在尝试使用 Docker 将网站转移到不同的服务器上,但这比我预想的要难一些。

我找不到任何包含此 PHP 版本的存储库。因此我尝试从此来源进行编译:http://museum.php.net/php5/php-5.1.6.tar.gz。然后我又遇到了另一个问题。这个 PHP 版本的所有依赖项都很旧,我找不到具有正确版本的软件存储库。

我确实找到了一个有效的 php 5.1.6 Dockerfile:https://github.com/nubs/docker-php-minimal/tree/master/php-5.1.6。但是这里我在添加有依赖项的php扩展时仍然遇到问题。

如何在 Docker 中安装可运行的 php 5.1.6?

这是工作安装的 php 配置命令:

./configure
--build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu
--target=x86_64-redhat-linux-gnu
--program-prefix=
--prefix=/usr
--exec-prefix=/usr
--bindir=/usr/bin
--sbindir=/usr/sbin
--sysconfdir=/etc
--datadir=/usr/share
--includedir=/usr/include
--libdir=/usr/lib64
--libexecdir=/usr/libexec
--localstatedir=/var
--sharedstatedir=/usr/com
--mandir=/usr/share/man
--infodir=/usr/share/info
--cache-file=../config.cache
--with-libdir=lib64
--with-config-file-path=/etc
--with-config-file-scan-dir=/etc/php.d
--disable-debug
--with-pic
--disable-rpath
--without-pear
--with-bz2
--with-curl
--with-exec-dir=/usr/bin
--with-freetype-dir=/usr
--with-png-dir=/usr
--enable-gd-native-ttf
--without-gdbm
--with-gettext
--with-gmp
--with-iconv
--with-jpeg-dir=/usr
--with-openssl--with-png--with-pspell
--with-expat-dir=/usr
--with-pcre-regex=/usr
--with-zlib
--with-layout=GNU
--enable-exif
--enable-ftp
--enable-magic-quotes
--enable-sockets
--enable-sysvsem
--enable-sysvshm
--enable-sysvmsg
--enable-track-vars
--enable-trans-sid
--enable-yp
--enable-wddx
--with-kerberos
--enable-ucd-snmp-hack
--with-unixODBC=shared,/usr
--enable-memory-limit
--enable-shmop
--enable-calendar
--enable-dbx
--enable-dio
--with-mime-magic=/usr/share/file/magic.mime
--without-sqlite
--with-libxml-dir=/usr
--with-xml
--with-system-tzdata
--enable-force-cgi-redirect
--enable-pcntl
--with-imap=shared
--with-imap-ssl
--enable-mbstring=shared
--enable-mbstr-enc-trans
--enable-mbregex
--with-ncurses=shared
--with-gd=shared
--enable-bcmath=shared
--enable-dba=shared
--with-db4=/usr
--with-xmlrpc=shared
--with-ldap=shared
--with-ldap-sasl
--with-mysql=shared,/usr
--with-mysqli=shared,/usr/lib64/mysql/mysql_config
--enable-dom=shared
--with-dom-xslt=/usr
--with-dom-exslt=/usr
--with-pgsql=shared
--with-snmp=shared,/usr
--enable-soap=shared
--with-xsl=shared,/usr
--enable-xmlreader=shared
--enable-xmlwriter=shared
--enable-fastcgi
--enable-pdo=shared
--with-pdo-odbc=shared,unixODBC,/usr
--with-pdo-mysql=shared,/usr/lib64/mysql/mysql_config
--with-pdo-pgsql=shared,/usr
--with-pdo-sqlite=shared,/usr
--enable-dbase=shared

答案1

你试过更新的版本吗?也许不是全新的,但稍微更新一点?仍然有php:5.4-apache在docker库镜像中标记的图像。

除此之外,您可能必须在具有相似发布时间的 Linux 版本上构建 5.1.6 映像。

不过,我希望您使用只读配置来安装此软件。如此老旧的系统几乎肯定存在漏洞,可能会受到攻击并很快被攻陷。

相关内容