Buruh pelabuhan menginstal php pdo mysql

RUN apt update
RUN apt upgrade -y
RUN apt install -y apt-utils
RUN a2enmod rewrite
RUN apt install -y libmcrypt-dev
RUN apt install -y libicu-dev
RUN docker-php-ext-install -j$(nproc) intl
RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ 
RUN docker-php-ext-install -j$(nproc) gd    
RUN apt install -y php-apc
RUN apt install -y libldb-dev
RUN apt install -y libldap2-dev
RUN apt install -y libxml2-dev
RUN apt install -y libssl-dev
RUN apt install -y libxslt-dev
RUN apt install -y libpq-dev
RUN apt install -y postgresql-client
RUN apt install -y mysql-client 
RUN apt install -y mariadb-client 
RUN apt install -y libsqlite3-dev
RUN apt install -y libsqlite3-0
RUN apt install -y libc-client-dev
RUN apt install -y libkrb5-dev
RUN apt install -y curl
RUN apt install -y libcurl3
RUN apt install -y libcurl3-dev
RUN apt install -y firebird-dev
RUN apt-get install -y libpspell-dev
RUN apt-get install -y aspell-en
RUN apt-get install -y aspell-de  
RUN apt install -y libtidy-dev
RUN apt install -y libsnmp-dev
RUN apt install -y librecode0
RUN apt install -y librecode-dev
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer
#RUN pecl install apc
RUN docker-php-ext-install opcache
RUN yes | pecl install xdebug \
    && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
    && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
RUN docker-php-ext-install soap
RUN docker-php-ext-install ftp
RUN docker-php-ext-install xsl
RUN docker-php-ext-install bcmath
RUN docker-php-ext-install calendar
RUN docker-php-ext-install ctype
RUN docker-php-ext-install dba
RUN docker-php-ext-install dom
RUN docker-php-ext-install zip
RUN docker-php-ext-install session
RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu
RUN docker-php-ext-install ldap
RUN docker-php-ext-install json
RUN docker-php-ext-install hash
RUN docker-php-ext-install sockets
RUN docker-php-ext-install pdo
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install tokenizer
RUN docker-php-ext-install pgsql
RUN docker-php-ext-install pdo_pgsql
RUN docker-php-ext-install pdo_mysql 
RUN docker-php-ext-install pdo_sqlite
RUN docker-php-ext-install intl
RUN docker-php-ext-install mcrypt
RUN docker-php-ext-install mysqli
RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl
RUN docker-php-ext-install imap
RUN docker-php-ext-install gd
RUN docker-php-ext-install curl
RUN docker-php-ext-install exif
RUN docker-php-ext-install fileinfo
RUN docker-php-ext-install gettext
#RUN apt install -y libgmp-dev # idk
#RUN docker-php-ext-install gmp # idk
RUN docker-php-ext-install iconv
RUN docker-php-ext-install interbase
RUN docker-php-ext-install pdo_firebird
RUN docker-php-ext-install opcache
#RUN docker-php-ext-install oci8 # idk
#RUN docker-php-ext-install odbc # idk
RUN docker-php-ext-install pcntl
#RUN apt install -y freetds-dev # idk
#RUN docker-php-ext-install pdo_dblib  # idk
#RUN docker-php-ext-install pdo_oci # idk
#RUN docker-php-ext-install pdo_odbc # idk
RUN docker-php-ext-install phar
RUN docker-php-ext-install posix
RUN docker-php-ext-install pspell
#RUN apt install -y libreadline-dev # idk
#RUN docker-php-ext-install readline # idk
RUN docker-php-ext-install recode
RUN docker-php-ext-install shmop
RUN docker-php-ext-install simplexml
RUN docker-php-ext-install snmp
RUN docker-php-ext-install sysvmsg
RUN docker-php-ext-install sysvsem
RUN docker-php-ext-install sysvshm
RUN docker-php-ext-install tidy
RUN docker-php-ext-install wddx
RUN docker-php-ext-install xml
#RUN apt install -y libxml2-dev # idk
#RUN docker-php-ext-install xmlreader # idk
RUN docker-php-ext-install xmlrpc
RUN docker-php-ext-install xmlwriter             
# idk bz2 enchant 
RUN apt install - y libbz2-dev
RUN docker-php-ext-install bz2
RUN docker-php-ext-install timezonedb

Konteks. server PHP dan database MySQL. Ini adalah pengaturan yang sangat umum. Anda harus membuat skrip PHP yang berinteraksi dengan database itu, tetapi Anda tidak memiliki akses ke server karena hanya skrip dari localhost yang berfungsi karena pembatasan keamanan firewall misalnya

Masalah. Untuk menguji skrip Anda, Anda harus membuka klien FTP, unggah. php ke server dan mengujinya. Setiap kali file php berubah, Anda harus mengulangi prosedur ini, tidak mempertimbangkan bahwa mencoba produksi adalah praktik yang sangat buruk

Larutan. Docker dapat datang untuk menyelamatkan saat dia membiarkan pengembang membuat dalam beberapa langkah lingkungan yang mirip dengan lingkungan produksi. Ini bahkan memungkinkan pengembang menguji kode mereka di lingkungan lokal tanpa takut membuat kesalahan

Ada wadah siap pakai untuk PHP dan MySQL, banyak tutorial dan sumber daya online yang memberi tahu cara menggabungkannya dengan dan tanpa komposisi docker. Saya menemukan ini sangat berguna menggunakan docker-compose, dan yang ini tidak menggunakannya, tetapi saya kesulitan mencoba menggunakan PHP+PDO untuk sekadar membuka koneksi dengan database MySQL saya hanya dengan membaca artikel ini. Alasan mengapa saya menggunakan PDO adalah karena ekstensi MySQLi sudah tidak digunakan lagi, seperti kata W3C

Masalah konfigurasi lingkungan (alasan mengapa saya menulis artikel ini). Komunikasi dari Host ke wadah MySQL berfungsi, tetapi komunikasi dari wadah PHP ke wadah MySQL tidak

docker-compose dan penugasan variabel yang memadai di. php adalah kunci untuk memecahkan masalah

Ini docker-compose saya

Kita dapat melihat bahwa gambar db telah dibiarkan apa adanya (mysql. 5. 7), tetapi bukan yang web, karena kita harus memasang ekstensi PDO ke gambar dasar PHP. Perhatikan bahwa kedua container diekspos ke host melalui port 8100 untuk container PHP dan port 9906 untuk database MySQL. dengan cara ini kita dapat menghubungkannya melalui mysql-cli dari terminal host dengan perintah seperti di bawah ini

di mana -P singkatan dari "Port" dan harus cocok dengan hots-exposed yang didefinisikan dalam docker-compose. -p singkatan dari "kata sandi" dan -u singkatan dari "pengguna"

Bagaimana cara menginstal Pdo_mysql di Docker?

# Ekstensi PHP RUN \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \ && docker-php-ext-configure mysqli --with-mysqli=mysqlnd \ && docker-php-ext-install pdo_mysql \. Simpan jawaban ini. Tampilkan aktivitas di postingan ini. Saya menggunakan ini dan bekerja dengan baik untuk saya

Bagaimana cara menginstal ekstensi PHP di Docker?

Instalasi ekstensi PHP yang mudah di image PHP Docker resmi Penggunaan Mengunduh skrip dengan cepat Dengan Dockerfile Dengan curl Dengan eksekusi langsung dari curl .

Apakah PHP5. 4 mendukung PDO?

PDO tidak akan berjalan sejak memutakhirkan PHP ke 5. 4 .

Bagaimana cara mengaktifkan driver PDO untuk mysql di Windows?

Pdo ( Portable Data Object ) perlu diinstal jika belum dilakukan sebelumnya. Untuk platform windows buka panel kontrol > Tambah hapus program ( atau Program dan fitur ) > Pilih instalasi PHP Anda dan klik Ubah . Jika Anda menginstal PHP segar maka di wisaya penyiapan Anda dapat memilih PDO dari tautan Ekstensi.