Dalam keadaan normal, halaman phpinfo() dapat ditampilkan. Mari kita mulai dengan masalah yang muncul setelah dapat menampilkan halaman ini.
Masalah PHP akan ditampilkan di halaman phpinfo().
Pertama, periksa apakah path php.ini Anda sudah
benar file, tetapi setelah restart server Mengapa tidak ada yang berhasil?
J: Masalah ini terutama melibatkan situasi berikut.
Alasan pertama adalah file php.ini yang dibaca oleh sistem tidak sesuai dengan file php.ini yang Anda modifikasi saat itu. 1. Anda dapat memeriksa pembacaan server PHP saat ini melalui opsi Jalur File Konfigurasi (php.ini). phpinfo() Yang mana php.ini itu
2. Jika Anda ingin mengubah lokasi akses file php.ini, Anda dapat merujuk pada urutan pencarian php.ini, seperti gambar di bawah ini:
a) Lokasi yang ditentukan oleh modul SAPI (direktif PHPIniDir di Apache 2, opsi baris perintah -c di CGI dan CLI, parameter php_ini di NSAPI, variabel lingkungan PHP_INI_PATH di THTTPD)
b) HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath (lokasi registri Windows)
c) Variabel lingkungan PHPRC d) Direktori kerja saat ini (untuk CLI)
e) Direktori server web (untuk modul SAPI) atau direktori tempat PHP berada (kasus lain di Windows)
f) Direktori Windows (C:windows atau C:winnt), atau lokasi yang ditentukan oleh opsi waktu kompilasi --with-config-file-path 3. Pendekatan umum: Dengan mengatur variabel lingkungan PHPRC,
a) Operasi: Klik kanan Komputer Saya->Properti->Lanjutan->Variabel Lingkungan b) Buat variabel lingkungan baru di bawah variabel sistem dengan "nama variabelnya adalah PHPRC dan nilai variabelnya adalah jalur file dari file php.ini Anda "
Alasan kedua adalah: PHP tidak menemukan pustaka ekstensi yang sesuai 1. Periksa lokasi pustaka ekstensi yang ditemukan oleh PHP: Anda dapat melihatnya di opsi extension_dir di phpinfo() 2. Ubah file extension_dir di
php.ini alasan ketiga: Tidak ada restart lengkap IIS
1. Modifikasi pada php.ini harus dimulai ulang sepenuhnya agar dapat diterapkan, bukan hanya situs saat ini.
2. Masukkan cmd, hentikan server: net stop iisadmin; mulai server: net start w3svc
T: Mengapa saya tidak bisa mengaktifkan perpustakaan ekstensi MySql di PHP saya?
A: Di PHP5.0 ke atas, MySQL tidak diaktifkan secara default, jadi kita perlu mengaktifkannya secara manual.
1. Untuk menjalankan MySql di PHP, Anda harus mengaktifkan pustaka tautan dinamis php_mysql.dll di php.ini. Selain itu, Anda perlu mengakses pustaka tautan klien MySQL, yaitu file libmysql.dll perpustakaan tautan dinamis php_mysql.dll melalui ekstensi di php.ini. Perpustakaan koneksi; dan file libmysql.dll harus ditempatkan di jalur sistem Windows PATH untuk mengaksesnya jalur baru ke variabel lingkungan PATH.
3. Pendekatan yang disarankan: Tetapkan PATH untuk memfasilitasi peningkatan PHP di masa mendatang. Cukup tambahkan folder tempat "libmysql.dll" terletak setelah PATH dalam variabel lingkungan sistem. Ingatlah untuk memisahkannya dengan ";" 4. [Kasus] Baru-baru ini, server tidak dapat menemukan perpustakaan ekstensi MySql, menyebabkan program gagal dijalankan. Oleh karena itu, hapus semua file dan konfigurasi ulang server PHP. Namun pada akhirnya, ketika saya menginstal MySql, saya tidak dapat mengaktifkan perpustakaan ekstensi MySql.
Informasi yang ditemukan di phpinfo() adalah sebagai berikut:
JALUR:c:php
PHPRC:C:php
ekstensi_dir:c:phpext
Selain itu, saya menguji mengaktifkan perpustakaan lain, seperti msql, gd2, xml, dan dapat ditampilkan secara normal di phpinfo(), membuktikan bahwa PHP dapat menemukan perpustakaan tautan dinamis php_mysql.dll, dan syarat lain untuk pengoperasian MySql adalah untuk dapat menanyakan klien MySQL. Pustaka koneksi terminal adalah file libmysql.dll. Tampaknya masalahnya terletak di sini.
Saya mencari file libmysql.dll di drive C dan menemukan ada file di folder system32 dan php. Setelah melakukan backup, saya mencoba menghapus file libmysql.dll di system32 dan ternyata terkunci dan bisa. tidak dihapus, tapi bisa diganti namanya. Saya mengganti nama dengan santai dan me-restart IIS, dan server berjalan normal.
Satu poin tambahan: Jika Jalur File Konfigurasi (php.ini) ditampilkan sebagai C:Windows
, berarti file php.ini belum dibaca.
Selain itu, saya menemukan bahwa ketika menggunakan IIS untuk mengintegrasikan php, ada dua cara: mode ISAPI dan CGI.
Kedua cara tersebut, kita dapat melihat halaman phpinfo
tetapi menggunakan mode ISAPI, variabel lingkungan tidak dapat dibaca, sehingga variabel lingkungan PHPRC. sudah diatur. Jalur php.ini tidak dapat ditemukan.
Gunakan saja CGI, jadi tidak perlu mengcopy banyak file ke file sistem.