Hướng dẫn docker php ext install gmp - docker php ext cài đặt gmp

Tôi cũng cần GMP nhưng khi tôi cài đặt nó bằng Laradock FPM mà tôi đã sửa đổi, tôi đã gặp lỗi khi nói Gmp.h không thể tìm thấy.

Tôi đã thêm cái này vào Dockerfile-70

#####################################
# GMP:
#####################################

ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
    # Install the gmp extension
    apt-get update && \
    apt-get -y install libgmp-dev && \ 
    docker-php-ext-install gmp \
;fi

and changed this FROM to
FROM laradock/php-fpm:7.1--1.3

Điều này không hoạt động. Vì vậy, tôi đã thêm Dockerfile của riêng mình vào Laradock FPM, nó cài đặt rất nhiều tiện ích mở rộng và các thư viện cần thiết của họ. Tôi không biết những gì tệp của tôi được thêm vào đã bị thiếu trong Dockerfile-70 đã sửa đổi nhưng đây là Dockerfile tùy chỉnh của tôi.

FROM php:fpm

RUN apt-get update && apt-get install -y \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng12-dev \
		libcurl4-gnutls-dev \
		libxml2-dev \
		libbz2-dev \
		re2c \
		libpng++-dev \
        libpng3 \
        libjpeg-dev \
        libvpx-dev \
        zlib1g-dev \
        libgd-dev \
        libssl-dev \
        libtidy-dev \
        libxslt1-dev \
        libmagic-dev \
        libexif-dev \
        file \
        libssh2-1-dev \
        git \
        wget	\
		sqlite3	\
		libsqlite3-dev \
		libgmp-dev \


	&& docker-php-ext-install json \
	&& docker-php-ext-install mbstring \
	&& docker-php-ext-install tokenizer \
    && docker-php-ext-install gmp \
    && docker-php-ext-install gd \
	&& docker-php-ext-install curl \
	&& docker-php-ext-install dom \
	&& docker-php-ext-install bz2 \
	&& docker-php-ext-install mysqli \
	&& docker-php-ext-install pcntl \
	&& docker-php-ext-install pdo \
	&& docker-php-ext-install pdo_mysql \
	&& docker-php-ext-install phar \
	&& docker-php-ext-install posix \
	&& docker-php-ext-install simplexml \
	&& docker-php-ext-install soap \
	&& docker-php-ext-install sockets \
	&& docker-php-ext-install tidy \
	&& docker-php-ext-install zip \
	&& docker-php-ext-install bcmath \
	&& docker-php-ext-install calendar \
	&& docker-php-ext-install ctype \
	&& docker-php-ext-install exif \
	&& docker-php-ext-install pcntl \
	&& docker-php-ext-install pdo_sqlite

Tôi đang cố gắng quay một ví dụ Laravel thông qua Lando bằng Php8. Tôi cũng cần cài đặt mô -đun PHP GMP ... Tôi rất mới với Docker và Lando.

Bây giờ có vẻ như trường hợp PHP mà Lando sử dụng không có GMP trước

Tôi đã tìm thấy một bài đăng ở đâu đó nơi ai đó đã cài đặt một số mô -đun PHP thông qua tệp Lando và cố gắng sửa đổi tệp của tôi dựa trên đó.

Đây là tệp Lando của tôi tại thời điểm này:

name: og-tools
recipe: laravel
config:
  webroot: public
  composer_version: 2
  database: mariadb
  cache: redis
services:
  appserver:
    type: php:8.0
    via: apache
    build_as_root:
      - apt-get update -y
      - apt-get install php8.0-gmp
      - echo "extension=gmp.so" > /etc/php8/apache2/conf.d/gmp.ini
  mailhog:
    type: mailhog
    portforward: true
    hogfrom:
      - appserver

Khi tôi thử chạy nó, tôi nhận được như sau:

E: Unable to locate package php8.0-gmp
E: Couldn't find any package by glob 'php8.0-gmp'
E: Couldn't find any package by regex 'php8.0-gmp'
ERROR ==> E: Couldn't find any package by regex 'php8.0-gmp' 

Tuy nhiên, việc tìm kiếm các tìm kiếm của PHP8 GMP dẫn tôi đến trang web này: https://websiteforstudents.com/how-to-migrate-to-php-8-0-on-upuntu/

Họ đề cập đến gói php8.0-gmp tuy nhiên tôi dường như không thể tìm thấy nó.

Tôi chỉ có thể làm điều này hoàn toàn sai, tôi có một chút chiều sâu của mình trong thời gian hiện tại và cố gắng học hỏi khi tôi đi

Tôi đang cố gắng quay một ví dụ Laravel thông qua Lando bằng Php8. Tôi cũng cần cài đặt mô -đun PHP GMP ... Tôi rất mới với Docker và Lando.

Bây giờ có vẻ như trường hợp PHP mà Lando sử dụng không có GMP trước

Tôi đã tìm thấy một bài đăng ở đâu đó nơi ai đó đã cài đặt một số mô -đun PHP thông qua tệp Lando và cố gắng sửa đổi tệp của tôi dựa trên đó.

Đây là tệp Lando của tôi tại thời điểm này:

name: og-tools
recipe: laravel
config:
  webroot: public
  composer_version: 2
  database: mariadb
  cache: redis
services:
  appserver:
    type: php:8.0
    via: apache
    build_as_root:
      - apt-get update -y
      - apt-get install php8.0-gmp
      - echo "extension=gmp.so" > /etc/php8/apache2/conf.d/gmp.ini
  mailhog:
    type: mailhog
    portforward: true
    hogfrom:
      - appserver

Khi tôi thử chạy nó, tôi nhận được như sau:

E: Unable to locate package php8.0-gmp
E: Couldn't find any package by glob 'php8.0-gmp'
E: Couldn't find any package by regex 'php8.0-gmp'
ERROR ==> E: Couldn't find any package by regex 'php8.0-gmp' 

Tuy nhiên, việc tìm kiếm các tìm kiếm của PHP8 GMP dẫn tôi đến trang web này: https://websiteforstudents.com/how-to-migrate-to-php-8-0-on-upuntu/

Họ đề cập đến gói php8.0-gmp tuy nhiên tôi dường như không thể tìm thấy nó.

Tôi chỉ có thể làm điều này hoàn toàn sai, tôi có một chút chiều sâu của mình trong thời gian hiện tại và cố gắng học hỏi khi tôi đi

Tôi cũng cần GMP nhưng khi tôi cài đặt nó bằng Laradock FPM mà tôi đã sửa đổi, tôi đã gặp lỗi khi nói Gmp.h không thể tìm thấy.

Tôi đã thêm cái này vào Dockerfile-70

#####################################
# GMP:
#####################################

ARG INSTALL_GMP=false
RUN if [ ${INSTALL_GMP} = true ]; then \
    # Install the gmp extension
    apt-get update && \
    apt-get -y install libgmp-dev && \ 
    docker-php-ext-install gmp \
;fi

and changed this FROM to
FROM laradock/php-fpm:7.1--1.3

Điều này không hoạt động. Vì vậy, tôi đã thêm Dockerfile của riêng mình vào Laradock FPM, nó cài đặt rất nhiều tiện ích mở rộng và các thư viện cần thiết của họ. Tôi không biết những gì tệp của tôi được thêm vào đã bị thiếu trong Dockerfile-70 đã sửa đổi nhưng đây là Dockerfile tùy chỉnh của tôi.

FROM php:fpm

RUN apt-get update && apt-get install -y \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng12-dev \
		libcurl4-gnutls-dev \
		libxml2-dev \
		libbz2-dev \
		re2c \
		libpng++-dev \
        libpng3 \
        libjpeg-dev \
        libvpx-dev \
        zlib1g-dev \
        libgd-dev \
        libssl-dev \
        libtidy-dev \
        libxslt1-dev \
        libmagic-dev \
        libexif-dev \
        file \
        libssh2-1-dev \
        git \
        wget	\
		sqlite3	\
		libsqlite3-dev \
		libgmp-dev \


	&& docker-php-ext-install json \
	&& docker-php-ext-install mbstring \
	&& docker-php-ext-install tokenizer \
    && docker-php-ext-install gmp \
    && docker-php-ext-install gd \
	&& docker-php-ext-install curl \
	&& docker-php-ext-install dom \
	&& docker-php-ext-install bz2 \
	&& docker-php-ext-install mysqli \
	&& docker-php-ext-install pcntl \
	&& docker-php-ext-install pdo \
	&& docker-php-ext-install pdo_mysql \
	&& docker-php-ext-install phar \
	&& docker-php-ext-install posix \
	&& docker-php-ext-install simplexml \
	&& docker-php-ext-install soap \
	&& docker-php-ext-install sockets \
	&& docker-php-ext-install tidy \
	&& docker-php-ext-install zip \
	&& docker-php-ext-install bcmath \
	&& docker-php-ext-install calendar \
	&& docker-php-ext-install ctype \
	&& docker-php-ext-install exif \
	&& docker-php-ext-install pcntl \
	&& docker-php-ext-install pdo_sqlite

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

Từ PHP: 5,6-FPM php:5.6-fpm
Duy trì nhãn = "Alterway" maintainer="Alterway <>"
Chạy cập nhật apt-get && \ apt-get update && \
apt -get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libgmp-dev \
libxml2-dev \
libxslt-dev \
zlib1g-dev \
libncurses5-dev \
libldap2-dev \
libicu-dev \
libmemcached-dev \
libcurl4-openssl-dev \
libssl-dev \
libsqlite3-dev \
Exiftool \
Xoăn \
ssmtp \
mysql-client \
git \
Subversion \
wget && \
rm -rf/var/lib/apt/list/* && \
wget https://getcomposer.org/doad/1.8.5/composer.phar -O/usr/local/bin/composer && \
Chmod A+Rx/usr/local/bin/nhà soạn nhạc
Chạy ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h && \
docker-php-ext-configure ldap-with-libdir = lib/x86_64-linux-gnu && \ \
docker-php-ext-install ldap && \
Docker-php-ext-Configure pdo_mysql-with-pdo-mysql = mysqlnd && \
Docker-php-ext-install pdo_mysql && \
docker-php-ext-configure mysql-với-mysql = mysqlnd && \
docker-php-ext-install mysql && \
docker-php-ext-configure mysqli--with-mysqli = mysqlnd && \ \
docker-php-ext-install mysqli && \
Docker-php-ext-install pdo_sqlite && \
Docker-php-ext-Configure gd--with-freetype-dir =/usr/into
docker-php-ext-install gd && \
Xà phòng docker-php-ext-install && \
Docker-php-ext-install intl && \
docker-php-ext-install mcrypt && \
docker-php-ext-install gmp && \
Docker-php-ext-install bcmath && \
docker-php-ext-install mbString && \
docker-php-ext-install exif && \
docker-php-ext-install zip && \
docker-php-ext-install pcntl && \
docker-php-ext-install ftp && \
Docker-php-ext-install sockets && \
Docker-php-ext-install XSL
Chạy Pecl Cài đặt Mongo && \ pecl install mongo && \
PECL Cài đặt memcached-2.2.0 && \
PECL Cài đặt Redis-4.3.0 && \
PECL Cài đặt XDebug-2.5.5
Thêm http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz http://www.zlib.net/zlib-1.2.11.tar.gz /tmp/zlib.tar.gz
Chạy TAR ZXPF /TMP/ZLIB.TAR.GZ -C /TMP && \ tar zxpf /tmp/zlib.tar.gz -C /tmp && \
CD /tmp/zlib-1.2.11 && \
./configure ---prefix =/usr/local/zlib && \
Tạo && Tạo cài đặt && \
rm -rf /tmp/zlib-1.2.11 && \
rm /tmp/zlib.tar.gz
Thêm https://blackfire.io/api/v1/release/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz https://blackfire.io/api/v1/releases/probe/php/linux/amd64/56 /tmp/blackfire-probe.tar.gz
Chạy TAR ZXPF /TMP/BLACKFIRE-PROBE.TAR.GZ -C /TMP && \ tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp && \
mv /tmp/blackfire-*.so `php -r" echo ini_get ('extension_dir'); "` /blackfire.so && \"echo ini_get('extension_dir');"`/blackfire.so && \
rm /tmp/blackfire-probe.tar.gz
Env địa phương Châu Âu/Paris LOCALTIME Europe/Paris
Env phpfpm__access.format '" %r - %u [ %t] \" %m %r \ " %s %l %q %f"' PHPFPM__access.format '"%R - %u [%t] \"%m %r\" %s %l %Q %f"'
Chạy rm $ php_ini_dir/conf.d/docker-php-ext* && \ rm $PHP_INI_DIR/conf.d/docker-php-ext* && \
echo 'sendmail_path =/usr/sbin/ssmtp -t' >> $ php_ini_dir/conf.d/00 -default.ini && \'sendmail_path = /usr/sbin/ssmtp -t' >> $PHP_INI_DIR/conf.d/00-default.ini && \
echo "\ ninclude =/usr/local/etc/php-fpm.d/*. Conf" >> /usr/local/etc/php-fpm.conf && \"\ninclude=/usr/local/etc/php-fpm.d/*.conf" >> /usr/local/etc/php-fpm.conf && \
mkdir -p /usr/local/etc/php-fpm.d && \
Chmod A+W -R $ PHP_INI_DIR/conf.d//etc/ssmtp /usr/local/etc/php-fpm.d/
Sao chép Docker-entrypoint.sh /entrypoint.sh docker-entrypoint.sh /entrypoint.sh
WorkDir /var /www /var/www
EntryPoint ["/entrypoint.sh"] ["/entrypoint.sh"]
CMD ["PHP-FPM"] ["php-fpm"]

Làm cách nào để cài đặt hoặc bật tiện ích mở rộng GMP của PHP?

Cài đặt GMP trong mô -đun PHP GMP theo mặc định được thêm vào PHP. Bạn có thể kích hoạt giống nhau bằng cách loại bỏ (;); tiện ích mở rộng = GMP được thêm vào đầu phần mở rộng trong php.ini. Sau đó, hãy khởi động lại Apache và để xác nhận xem các thay đổi có phản ánh hay không.removing the (;) ;extension=gmp added at the start of the extension in php. ini. After that restart apache and to confirm if the changes are reflecting.

Tiện ích mở rộng PHP GMP là gì?

Tên: Php-Gmp Arch: x86_64 Phiên bản: 7.2.11 Tóm tắt: Một mô-đun cho các ứng dụng PHP để sử dụng thư viện GNU MP Mô tả: Các chức năng này cho phép bạn làm việc với các số nguyên có độ dài tùy ý bằng thư viện GNU MP.

Docker PHP ext cho phép là gì?

Docker-php-ext-enable-Cho phép mở rộng bằng cách thêm một mục cụ thể vào php.ini.Các tiện ích mở rộng được cài đặt với PECL hoặc Trình quản lý gói gốc có thể không được bật theo mặc định, do đó yêu cầu bước bổ sung này.Như đã đề cập ở trên, các tiện ích mở rộng được cài đặt với Docker-php-ext-install đang được bật tự động.enables an already extension by adding a specific entry to php. ini. Extensions installed with pecl or native package managers may not be enabled by default thus require this additional step. As mentioned above, extensions installed with docker-php-ext-install are being enabled automatically.

Docker có cài đặt PHP không?

Bạn thậm chí không cần phải cài đặt PHP hoặc NGINX trên chính máy chủ.Chúng sẽ được Docker tự động cài đặt khi bạn khởi chạy ứng dụng.Bạn có thể chạy cùng một hình ảnh trên máy phát triển của bạn.They'll be automatically installed by Docker when you launch the application. You can run the exact same image on your development machine.