Как включить короткие теги в Php7 в Alpine Linux? - PullRequest
0 голосов
/ 10 января 2020

Я уже в курсе общего исправления; поместив параметр "short_open_tag = On" внутри php .ini и затем перезапустив любой сервер, который вы используете, однако с Alpine Linux ситуация немного сложнее.

Кажется, php7 Пакет, который вы устанавливаете с помощью команды apk add php7, поставляется с предварительно настроенной «командой настройки», встроенной в исполняемые файлы php, и один из указанных параметров конфигурации - '--disable-short-tags'. Чтобы продемонстрировать, это вывод php -i после создания простого docker контейнера:

phpinfo()
PHP Version => 7.3.13

System => Linux 9ea27eea7b8e 4.9.184-linuxkit #1 SMP Tue Jul 2 22:58:16 UTC 2019 x86_64
Build Date => Dec 22 2019 05:57:19
Configure Command =>  './configure'  '--build=x86_64-alpine-linux-musl' '--host=x86_64-alpine-linux-musl' '--prefix=/usr' '--program-suffix=7' '--libdir=/usr/lib/php7' '--datadir=/usr/share/php7' '--sysconfdir=/etc/php7' '--localstatedir=/var' '--with-layout=GNU' '--with-pic' '--with-pear=/usr/share/php7' '--with-config-file-path=/etc/php7' '--with-config-file-scan-dir=/etc/php7/conf.d' '--disable-short-tags' '--enable-bcmath=shared' '--with-bz2=shared' '--enable-calendar=shared' '--enable-ctype=shared' '--with-curl=shared' '--enable-dba=shared' '--with-db4' '--with-dbmaker=shared' '--with-gdbm' '--enable-dom=shared' '--with-enchant=shared' '--enable-exif=shared' '--enable-fileinfo=shared' '--enable-ftp=shared' '--with-gd=shared' '--with-freetype-dir=/usr' '--disable-gd-jis-conv' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--with-webp-dir=/usr' '--with-xpm-dir=/usr' '--with-gettext=shared' '--with-gmp=shared' '--with-iconv=shared' '--with-imap=shared' '--with-imap-ssl' '--with-icu-dir=/usr' '--enable-intl=shared' '--enable-json=shared' '--with-kerberos' '--with-ldap=shared' '--with-ldap-sasl' '--with-libedit' '--enable-libxml' '--with-libxml-dir=/usr' '--enable-mbstring=shared' '--with-mysqli=shared,mysqlnd' '--with-mysql-sock=/run/mysqld/mysqld.sock' '--enable-mysqlnd=shared' '--enable-opcache=shared' '--with-openssl=shared' '--with-system-ciphers' '--with-password-argon2' '--enable-pcntl=shared' '--with-pcre-regex=/usr' '--enable-pdo=shared' '--with-pdo-dblib=shared' '--with-pdo-mysql=shared,mysqlnd' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-pgsql=shared' '--with-pdo-sqlite=shared,/usr' '--with-pgsql=shared' '--enable-phar=shared' '--enable-posix=shared' '--with-pspell=shared' '--without-readline' '--with-recode=shared' '--enable-session=shared' '--enable-shmop=shared' '--enable-simplexml=shared' '--with-snmp=shared' '--enable-soap=shared' '--with-sodium=shared' '--enable-sockets=shared' '--with-sqlite3=shared,/usr' '--enable-sysvmsg=shared' '--enable-sysvsem=shared' '--enable-sysvshm=shared' '--with-tidy=shared' '--enable-tokenizer=shared' '--with-unixODBC=shared,/usr' '--enable-wddx=shared' '--enable-xml=shared' '--enable-xmlreader=shared' '--with-xmlrpc=shared' '--enable-xmlwriter=shared' '--with-xsl=shared' '--enable-zip=shared' '--with-libzip=/usr' '--with-zlib' '--with-zlib-dir=/usr' '--disable-phpdbg' '--enable-fpm' '--enable-embed' '--with-litespeed' 'build_alias=x86_64-alpine-linux-musl' 'host_alias=x86_64-alpine-linux-musl'

А это Dockerfile:

FROM nginx:alpine
RUN apk --update --no-cache add php7
CMD ["php", "-i"]

Из того, что я читал в Интернете, Вы не можете переопределить эти конфигурации, и файлы конфигурации будут игнорироваться. Любые идеи о том, что я должен сделать, чтобы это исправить?

Ответы [ 2 ]

0 голосов
/ 16 января 2020

php config в alpine находится в /etc/php7/,

, поэтому вам нужно добавить что-то вроде

COPY ./php-overrides.ini /etc/php7/conf.d/

в ваш Dockerfile, а php-overrides.ini должно иметь short_open_tag=on в нем

0 голосов
/ 10 января 2020

Установите

short_open_tag=On

в php .ini

И перезапустите веб-сервер.

...