Bagaimana saya tahu jika mysqli diinstal?

Untuk memastikan bahwa CiviCRM terus bekerja dengan platform hosting PHP kontemporer standar, versi mendatang dapat membuat perubahan kecil dalam persyaratan hosting. Kami berharap ini sebagian besar mulus; . g. v4. 7+) untuk menghabiskan beberapa menit untuk membantu memastikan kelancaran transisi

Q. Saya tidak terlalu fasih dalam bahasa geek. Apa yang harus saya lakukan?

Teruskan ini ke siapa pun yang mengelola server Anda. Jika Anda bekerja dengan mitra CiviCRM, mereka mungkin sudah memikirkan Anda

Q. Saya fasih dalam bahasa geek. Apa yang harus saya lakukan?

Tentukan apakah server web Anda memiliki ekstensi PHP mysqli diinstal. Semua ini akan memberi tahu Anda

  • Gunakan baris perintah server
    • Jalankan "php -r 'echo extension_loaded("mysqli") ? "loaded\n" : "missing\n";'_"
    • Itu harus menampilkan "dimuat"
  • Gunakan Penjelajah API
    • Masuk ke CiviCRM sebagai administrator
    • Arahkan ke "Dukungan => Pengembang => API Explorer"
    • Pilih entitas "Sistem" dan tindakan "dapatkan". Tekan "Eksekusi"
    • Cari "mysqli". Seharusnya muncul di bawah "nilai => php => ekstensi"

Kami berharap sebagian besar sistem sudah memiliki mysqli. Jika sistem Anda tidak, maka

  • Pertama, coba aktifkan
  • Kedua, laporkan kembali. Bagaimana PHP diinstal?

Q. Apa ini semua tentang?

PHP5. 0 menyediakan tiga "ekstensi" alternatif untuk mengirim kueri ke MySQL -- mysql, mysqli, dan pdo. CiviCRM telah menggunakan ekstensi mysql asli; . 5 (2013) dan dihapus di PHP 7. 0 (2015) dan Ubuntu 16. 04 (2016). Pada infrastruktur hosting kontemporer, seseorang harus menggunakan salah satu driver lain (mysqli atau pdo). Hal ini membutuhkan perubahan pada CivilCRM

Beralih dari mysql ke mysqli umumnya merupakan masalah kecil dengan sedikit dampak pada administrator. Lagi pula, CiviCRM menggunakan abstraksi DB yang mendukung mysqli. mysqli adalah bagian dari PHP 5. x dan 7. x, dan mysqli digunakan oleh banyak aplikasi PHP populer lainnya (seperti Joomla). Melihat beberapa paket PHP populer (dari Ubuntu, Debian, CentOS, MAMP), ekstensi mysqli sudah tersedia. Faktanya, jika Anda sudah menjalankan CiviCRM menggunakan paket PHP standar dari Ubuntu, Debian, CentOS, atau MAMP, maka Anda sebaiknya melakukannya

Namun, CiviCRM adalah produk terbuka yang berjalan di berbagai lingkungan, dan di luar sana adalah dunia yang liar. Tidak ada cara untuk menjamin bahwa semua web-host memiliki mysqli. Misalnya, jika host web Anda menggunakan kode sumber untuk PHP untuk mengompilasi versi khusus, mereka dapat menghilangkan mysqli

Q. Siapa yang paling mungkin terpengaruh?

Sulit dikatakan -- telemetri standar kami tidak memberikan detail yang cukup untuk memperkirakan dampak dengan tepat. Berdasarkan survei informal dan diskusi tentang server yang menjalankan CiviCRM, saya menemukan satu situs langsung yang hilang mysqli, yang mengarah ke perkiraan 0%-5% situs yang perlu menginstal mysqli

Dalam satu kasus yang ditemukan sejauh ini, situs yang terpengaruh tampaknya menjalankan distribusi Linux pengguna yang kuat (yang mendorong lebih banyak pengoptimalan pustaka tingkat rendah). Secara intuitif, orang akan mengharapkan sedikit lebih banyak risiko pada platform hosting yang dipesan lebih dahulu dan sangat disesuaikan (mis. g. binari kustom; . Sisi positifnya, administrator yang menggunakan biner pesanan harus memiliki keterampilan/pengalaman untuk mengonfigurasinya, dan   mysqli  memiliki .

Q. Mengapa Anda berbicara tentang beralih ke mysqli?

Dalam jangka panjang, mendukung keduanya tidak masuk akal. Mendukung keduanya membutuhkan kode yang lebih kompleks, lebih banyak abstraksi, lebih banyak pekerjaan/infrastruktur QA, lebih banyak dokumentasi, lebih banyak pertanyaan tentang StackExchange, dll. Di tahun 2017, kami tidak ingin pengguna dan administrator memperdebatkan pertanyaan, "Driver mana yang harus saya gunakan?"

Namun demikian, meskipun masalah ini adalah perubahan yang cukup kecil dalam aplikasi, itu akan menjadi semakin menyakitkan seiring adopsi Ubuntu 16. 04 LTS dan PHP7. 0 terus berkembang. (PHP 7 menyediakan beberapa peningkatan besar yang diinginkan oleh banyak administrator. ) Akan berlebihan untuk mengambil overhead dari siklus pemutakhiran utama hanya untuk mendukung PHP 7. Membuat peralihan terencana adalah jalur yang paling sederhana -- dan untuk sebagian besar sistem, kami mengharapkan transisi berjalan mulus

Q. Kapan perubahan akan dilakukan?

A. Mungkin beberapa minggu. mungkin beberapa bulan. CiviCRM menggunakan proses peer-review terbuka untuk perubahan kode dengan rilis bulanan reguler. Setelah perubahan melewati peer-review, ada periode pengujian, dan kemudian akan dikirimkan pada bulan berikutnya. Pada saat penulisan, tambalan telah diusulkan untuk CiviCRM 4. 7. 10 (Agustus 2016), namun belum diterima dalam peninjauan kembali. Kami lebih cenderung melihatnya pada bulan September atau Oktober 2016

Q. Hebat, ini adalah alasan untuk segera memutakhirkan semua perangkat lunak kami

A. Antusiasme yang bagus, tetapi tidak perlu berlebihan. Kebanyakan orang seharusnya tidak membutuhkan perubahan sama sekali. Bahkan jika Anda memang membutuhkan perubahan, itu harus cukup kecil. mysqli telah menjadi bagian umum dari PHP sejak PHP 5. 0

Dalam pendekatan apa pun, persyaratan utama CiviCRM tidak akan berubah. PHP5. 3+ (5. 5 direkomendasikan); . 1+;

Q. Mengapa mysqli?

A. Kebetulan. Civi menggunakan lapisan abstraksi DB (PEAR DB) yang sudah memiliki dukungan bawaan untuk mysqli. tetapi tidak memiliki dukungan untuk pdo. Untuk tujuan kita, mysqli dan pdo memberikan manfaat yang sama -- tetapi pdo akan membutuhkan lebih banyak waktu/energi. Itu bukan penilaian atas kualitas salah satu proyek - hanya evaluasi biaya/manfaat untuk kode khusus ini pada saat penulisan

Q. Ah, ada masalah lain yang belum Anda perkirakan

A. Itu mungkin. Jika Anda telah membaca blog ini dan masih merasa ada masalah yang belum terselesaikan, silakan tindak lanjuti CRM-17789

Tapi harap diingat. terlepas dari seperti apa tambalan terakhir itu. tindakan pencegahan paling sederhana, tercepat, paling efektif, paling paranoid, yang dapat Anda lakukan adalah memastikan bahwa mysqli telah diinstal

Diarsipkan di bawah

Arsitektur

Pengumuman rilis

Kiat

Klik jempol ke atas jika menurut Anda postingan blog ini bermanfaat (login untuk memberi suara atau berkomentar)

Menyimpan

Komentar

Anonim (tidak terverifikasi)

21-07-2016 - 09. 56

kami menggunakan Amazon Linux, dan menemukan mysqli sudah terpasang

PHP diinstal dengan perintah berikut

yum instal mysql55-server php56-mysqlnd php56-opcache httpd24 httpd24-tools mod24_ssl php56-fpm

Semoga ini membantu

totten

21-07-2016 - 14. 43

Sebagai balasan oleh Anonim (tidak terverifikasi)

Bagus sekali. Terima kasih atas catatannya

dvhirst

22-07-2016 - 11. 51

Saya telah menyiapkan tiga instance LAMP/WordPress/CiviCRM di infrastruktur AWS. Periksa masing-masing menggunakan baris perintah php, di atas. Dalam setiap contoh, temukan mysqli terinstal, seperti yang diharapkan. Instalasi PHP per default apt-get install LAMP^ -- yang telah bekerja dengan baik untuk saya. Semoga sukses

Anonim (tidak terverifikasi)

22-07-2016 - 15. 15

Kami memiliki beberapa server dengan usia yang berbeda-beda, OS yang berbeda-beda, diatur dengan cara yang berbeda, dan menginstal versi PHP yang berbeda-beda (walaupun semuanya setidaknya PHP 5. 5x saat ini). mysqli diinstal pada semuanya. Semoga ini membantu

davej

27-07-2016 - 04. 49

Telah menjalankan pemeriksaan baris perintah kira-kira. 40 server web, sebagian besar menjalankan Debian (berbagai versi, satu atau dua menggunakan paket dotdeb) plus CentOS/cPanel/WHM. Semua melaporkan mysqli sebagai hadiah. Di server cPanel, ketika EasyApache dibangun, mysqli harus dipilih secara eksplisit

Anonim (tidak terverifikasi)

26-08-2016 - 05. 11

Saya memiliki beberapa situs dengan PHP 7. 0. 7  - Nginx di Amazon Linux. Satu-satunya cara sejauh ini saya mendapatkan phpMyAdmin 4. 6. 2 berfungsi adalah menginstal mysqli, lalu hapus mysql dan instal mysqlnd. Tanpa mysql penginstalan CiviCrm gagal. Jika ada yang punya pekerjaan, saya ingin tahu. CiviCrm pasti perlu segera pindah ke mysqli post

totten

26-08-2016 - 12. 25

Sebagai balasan oleh Anonim (tidak terverifikasi)

Terima kasih atas catatannya. Saya berharap ini keluar untuk 4. 7. 12 (awal Oktober)

Anonim (tidak terverifikasi)

07-09-2016 - 22. 50

Perlu berhati-hati dalam menginstal ekstensi PHP mysqli dan pastikan Anda telah melakukan konfigurasi server dengan benar

Apakah MySQLi termasuk dalam PHP?

Ekstensi MySQLi diperkenalkan dengan PHP versi 5. 0. 0 . MySQL Native Driver disertakan dalam PHP versi 5. 3.

Bagaimana cara mengaktifkan MySQLi di PHP?

Buka php.ini Anda. file ini ( file konfigurasi php ) di dalam direktori PHP Anda ( atau direktori windows ). Cari mysqli dan aktifkan dll dengan menghapus ; . Anda mungkin harus mem-boot ulang sistem Anda. . You may have to re-boot your system.

Bagaimana cara menginstal modul MySQLi di PHP?

MySQLi - Instalasi .
Mengunduh MySQL. .
Instalasi MySQL di Linux/UNIX. .
Menginstal MySQL di Windows. .
Memverifikasi Instalasi MySQL. .
Gunakan Utilitas mysqladmin untuk Mendapatkan Status Server. .
Jalankan perintah SQL sederhana menggunakan MySQL Client. .
Langkah-langkah Pasca Instalasi. .
Menjalankan MySQL saat boot

Bagaimana cara mengimpor MySQLi di PHP?

php $respons = larik(); . '/db_connect. php';