Menginstal Apache, PHP, MySQL dan phpMyAdmin di Windows XP. Instalasi pada versi lama Instalasi OS Windows php 5 3

Bagian manual ini berlaku untuk Windows 98/Me dan Windows NT/2000/XP/2003. PHP tidak akan berjalan pada platform 16 bit seperti Windows 3.1 dan terkadang kami menyebut platform yang didukung Windows sebagai Win32.

Komentar:

Windows XP/2003 tidak lagi didukung untuk PHP 5.5.0.

Komentar:

Windows 98/Me/NT4/2000 tidak lagi didukung untuk PHP 5.3.0.

Komentar:

Windows 95 tidak lagi didukung untuk PHP 4.3.0.

Jika Anda memiliki lingkungan pengembangan seperti Microsoft Visual Studio, Anda juga dapat membangun PHP dari sumber.

Setelah Anda menginstal PHP di Windows, Anda mungkin juga ingin mengunduh berbagai ekstensi untuk menyediakan fungsionalitas tambahan.

Panduan Instalasi Manual

Bagian ini berisi instruksi untuk menginstal dan mengkonfigurasi PHP secara manual di Microsoft Windows.

Memilih dan mengunduh paket distribusi PHP

Unduh distribusi PHP sebagai arsip zip dari .

Ada beberapa versi paket zip yang berbeda - pilih versi yang sesuai dengan server web yang Anda gunakan:

Struktur dan isi paket PHP

Buka paket isi arsip zip ke direktori pilihan Anda, misalnya C:\PHP\.

Struktur folder dan file yang diekstrak dari arsip akan terlihat seperti ini:

Contoh struktur paket PHP 5 #1

    php-cgi.exe adalah executable CGI yang dapat digunakan saat menjalankan PHP di IIS melalui CGI atau FastCGI.

    php-win.exe adalah file PHP yang dapat dieksekusi untuk mengeksekusi skrip PHP tanpa menggunakan konsol (misalnya, aplikasi PHP menggunakan Windows GUI).

    php.exe adalah file PHP yang dapat dieksekusi untuk mengeksekusi skrip PHP di konsol (CLI).

    php5apache2_2.dll - Modul Apache 2.2.X.

    php5apache2_2_filter.dll - Filter Apache 2.2.X.

Mengubah file php.ini

Setelah isi paket php diekstraksi, buat salinan php.ini-production bernama php.ini di folder yang sama. Jika perlu, Anda juga dapat menempatkan php.ini di lokasi lain pilihan Anda, tetapi ini memerlukan konfigurasi tambahan, yang disediakan di bagian Mengonfigurasi PHP.

File php.ini berisi aturan eksekusi PHP dan instruksi untuk bekerja dengan lingkungan tempat file tersebut dijalankan. Di bawah ini beberapa setting php.ini yang dapat meningkatkan performa PHP di Windows. Beberapa di antaranya bersifat opsional. Ada banyak arahan lain yang mungkin berguna di lingkungan Anda - lihat daftar arahan php.ini untuk informasi lebih lanjut.

Petunjuk Wajib:

    ekstensi_dir = <путь к директории модулей> - extension_dir menentukan direktori tempat modul PHP berada. Jalurnya bisa absolut (misalnya, "C:\PHP\ext") atau relatif (misalnya, ".\ext"). Modul yang digunakan di php.ini harus ditempatkan di extension_dir .

    ekstensi = xxxxx.dll- Untuk setiap plugin, Anda harus menentukan arahan "extension=".

    Modul dari extension_dir yang ditandai dengan arahan ini dimuat ketika PHP dimulai. log_kesalahan = Pada

    - PHP memiliki mekanisme error logging yang dapat digunakan untuk menyimpan kesalahan dalam suatu file atau mengirimkannya ke suatu layanan (misalnya syslog). Mekanismenya juga menggunakan nilai direktif error_log. Ketika PHP dijalankan oleh IIS, log_errors harus diaktifkan dengan error_log yang benar. <пусть к файлу лога ошибок> kesalahan_log =

    - error_log diperlukan untuk menunjukkan jalur absolut atau relatif ke file tempat kesalahan PHP dicatat. File ini harus dapat ditulis oleh server web. 0 Lokasi paling umum untuk file ini adalah berbagai direktori TEMP sementara, misalnya, "C:\inetpub\temp\php-errors.log".

    cgi.force_redirect = 1 - Memberikan dukungan PATH_INFO sesuai dengan spesifikasi CGI.

    IIS FastCGI menggunakan pengaturan ini. 1 fastcgi.meniru =

    - FastCGI di bawah IIS mendukung kemampuan untuk mengidentifikasi token keamanan klien panggilan. Hal ini memungkinkan IIS untuk menentukan konteks keamanan di mana permintaan dibuat. 0 fastcgi.logging =

- Pencatatan FastCGI harus dinonaktifkan di IIS. Jika entri diaktifkan, maka semua pesan dari kelas mana pun akan dikenali sebagai kesalahan oleh FastCGI, yang akan menyebabkan IIS memunculkan pengecualian HTTP 500.

    Petunjuk Opsional ## waktu_eksekusi_maks =

    - Arahan ini menentukan waktu eksekusi maksimum untuk skrip PHP apa pun. Standarnya adalah 30 detik. Anda harus meningkatkan nilai ini jika aplikasi PHP Anda perlu berjalan lebih lama. batas_memori =

    ###M - Jumlah memori yang tersedia untuk proses PHP, dalam MB. Standarnya adalah 128, yang cukup untuk sebagian besar aplikasi PHP. Beberapa aplikasi kompleks mungkin memerlukan lebih banyak memori.

    tampilan_kesalahan = <пути к директориям, разделенные точкой с запятой> Mati

    - Arahan menentukan kesalahan mana yang harus dikembalikan ke server web untuk pencatatan lebih lanjut. Ketika diatur ke "On", PHP melaporkan semua jenis kesalahan yang ditentukan dalam direktif error_reporting. Standarnya adalah 30 detik. Anda harus meningkatkan nilai ini jika aplikasi PHP Anda perlu berjalan lebih lama. Demi alasan keamanan, disarankan untuk menyetelnya ke "Mati" di server produksi untuk mencegah keluaran kesalahan diteruskan ke pengguna akhir, karena mungkin berisi informasi yang mengancam keamanan aplikasi. Standarnya adalah 30 detik. Anda harus meningkatkan nilai ini jika aplikasi PHP Anda perlu berjalan lebih lama. open_basedir =

, misalnya openbasedir="C:\inetpub\wwwroot;C:\inetpub\temp". Arahan ini menentukan jalur ke direktori tempat PHP diizinkan untuk melakukan operasi sistem file. Operasi apa pun dengan file dan direktori di luar jalur yang ditentukan akan menghasilkan kesalahan.

Arahan ini sangat berguna untuk mencegah akses ke PHP yang terinstal di lingkungan hosting bersama untuk mencegah skrip PHP mengakses file apa pun di luar direktori root situs web.

Bagian ini berisi instruksi untuk mengatur secara manual Layanan Informasi Internet (IIS) 5.1 dan IIS 6.0 agar bekerja dengan PHP pada Microsoft Windows XP dan Windows Server 2003. Untuk instruksi tentang pengaturan IIS 7.0 dan versi yang lebih baru pada Windows Vista, Windows Server 2008, Windows 7 dan Windows Server 2008 R2 mengacu pada Microsoft IIS 7.0 dan yang lebih baru.

Mengonfigurasi IIS untuk memproses permintaan PHP

Unduh dan instal PHP sesuai dengan petunjuk yang dijelaskan dalam langkah-langkah instalasi manual

Komentar:

Pembuatan PHP non-thread-safe direkomendasikan saat menggunakan IIS. Versi non-thread-safe tersedia di

Konfigurasikan pengaturan khusus CGI dan FastCGI di file php.ini seperti yang ditunjukkan di bawah ini:

Contoh #2 Setting CGI dan FastCGI di php.ini

Mengaktifkan dukungan FastCGI di IIS

Modul FastCGI dinonaktifkan secara default saat menginstal IIS. Cara mengaktifkannya berbeda-beda tergantung versi Windows yang Anda gunakan.

Untuk mengaktifkan dukungan FastCGI pada Windows Vista SP1 dan Windows 7:

    Di menu "Start", pilih "Run", di jendela yang muncul, masukkan "optionalfeatures.exe" dari keyboard dan klik "Ok";

    Di jendela "Komponen Windows" yang terbuka, perluas folder "Layanan IIS", "Layanan Internet", "Komponen Pengembangan Aplikasi" dan centang kotak di sebelah "CGI";

    Klik OK dan tunggu hingga proses instalasi selesai.


Untuk mengaktifkan dukungan FastCGI di Windows Server 2008 dan Windows Server 2008 R2:

    Di Windows, buka menu Start, pilih "Run:", ketik "CompMgmtLauncher" dari keyboard dan klik "Ok";

    Jika peran "Web Server (IIS)" tidak ada di tab "Peran", tambahkan dengan memilih "Tambahkan Peran";

    Jika peran "Web Server (IIS)" ada, pilih "Pilih Layanan Peran" dan centang kotak di samping "CGI" di grup "Komponen Pengembangan Aplikasi";


Mengonfigurasi IIS untuk Memproses Permintaan PHP

Unduh dan instal PHP sesuai dengan instruksi yang diberikan dalam deskripsi instalasi

Komentar:

Ubah setting CGI dan FastCGI pada file php.ini seperti gambar di bawah ini:

Contoh #8 Setting CGI dan FastCGI di php.ini

fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0

Konfigurasikan pengendali IIS untuk PHP menggunakan Antarmuka Manajemen IIS atau melalui baris perintah.

Menggunakan Antarmuka Manajemen IIS untuk Membuat PHP Handler

Langkah-langkah berikut akan memungkinkan Anda membuat pengendali IIS untuk PHP di Antarmuka Manajemen IIS:



Menggunakan Baris Perintah untuk Membuat Pemetaan Handler PHP

Gunakan perintah di bawah ini untuk membuat kumpulan proses IIS FastCGI yang akan menggunakan php-cgi.exe untuk menjalankan permintaan PHP. Ganti parameter fullPath dengan path absolut ke file php-cgi.exe.

Contoh #9 Membuat Kumpulan Proses IIS FastCGI

%windir%\system32\inetsrv\appcmd setel konfigurasi /bagian:system.webServer/fastCGI ^ /+

Mengonfigurasi IIS untuk menangani permintaan PHP tertentu dari baris perintah ditunjukkan di bawah ini. Ganti nilai parameter scriptProcessor dengan path absolut ke file php-cgi.exe.

Contoh #10 Membuat Pemetaan Penangan Permintaan PHP

%windir%\system32\inetsrv\appcmd mengatur konfigurasi /bagian:system.webServer/handlers ^ /+

Perintah ini membuat pemetaan handler untuk IIS untuk file dengan ekstensi *.php, yang merupakan hasil dan diproses oleh modul FastCGI.

Komentar:

Pada langkah ini, instalasi dan konfigurasi selesai.

Petunjuk berikut bersifat opsional tetapi sangat disarankan untuk mencapai fungsionalitas dan kinerja PHP optimal di IIS.

Representasi dan akses sistem file

Saat menggunakan IIS, disarankan untuk mengaktifkan tampilan FastCGI di PHP. Ini dikendalikan oleh direktif fastcgi.impersonate di file php.ini.

Ketika peniruan identitas diaktifkan, PHP akan melakukan semua operasi sistem file di bawah akun yang ditentukan selama otentikasi IIS. Hal ini memastikan bahwa jika ada proses PHP umum untuk semua situs IIS, skrip PHP situs tidak akan memiliki akses ke file satu sama lain selama IIS menggunakan akun yang berbeda untuk setiap situs.

Misalnya, dalam pengaturan default IIS 7, otentikasi anonim diaktifkan di bawah pengguna IUSR standar. Artinya, saat memberikan izin kepada IIS untuk menjalankan skrip PHP, Anda juga perlu memberikan izin akun IUSR untuk membaca skrip ini.

Jika aplikasi PHP perlu menulis ke beberapa file atau folder, maka akun IUSR harus diberikan izin menulis kepada file atau folder tersebut.

Komentar:

Jika atribut userName hilang dari elemen anonimAuthentication, atau diatur ke string kosong, identitas kumpulan aplikasi digunakan sebagai anonim untuk situs web ini.

Untuk mengubah pengaturan akses file atau folder, gunakan antarmuka pengguna Windows Explorer atau perintah icacls.

Contoh #12 Mengatur izin akses file

icacls C:\inetpub\wwwroot\upload /hibah IUSR:(OI)(CI)(M)

Mengatur index.php sebagai dokumen default di IIS

Secara default, IIS tidak memiliki nama dokumen yang ditetapkan untuk menangani permintaan HTTP secara default.

Pada aplikasi PHP, dokumen default biasanya adalah index.php .

Untuk menambahkan index.php ke lembar dokumen IIS default, gunakan perintah ini:

Contoh #13 Mengatur index.php sebagai dokumen default di IIS

%windir%\system32\inetsrv\appcmd.exe mengatur konfigurasi ^ -section:system.webServer/defaultDocument /+"files." ^ /melakukan:apphost

Konfigurasi FastCGI dan PHP dengan proses pembuatan ulang

Mengonfigurasi pengaturan IIS FastCGI untuk mendaur ulang proses PHP menggunakan perintah yang diberikan di bawah ini.

Opsi FastCGI instanceMaxRequests menetapkan jumlah maksimum permintaan yang dapat diproses oleh satu proses php-cgi.exe sebelum IIS mulai menonaktifkannya.

Variabel lingkungan PHP PHP_FCGI_MAX_REQUESTS menetapkan berapa banyak permintaan yang akan diproses oleh satu proses php-cgi.exe hingga proses tersebut mulai menghapusnya.

Tentu saja, nilai yang ditetapkan untuk FastCGI InstanceMaxRequests kurang dari atau sama dengan PHP_FCGI_MAX_REQUESTS .

Contoh #14 Menyiapkan FastCGI dan PHP dibuat ulang

%windir%\system32\inetsrv\appcmd.exe setel konfigurasi -section:system.webServer/fastCgi ^ /.instanceMaxRequests:10000 %windir%\system32\inetsrv\appcmd.exe setel konfigurasi -section:system.webServer/fastCgi ^ / +".Variabel Lingkungan.^"

Ada dua cara untuk mengkonfigurasi PHP agar berfungsi dengan Apache 1.3.x di Windows. Yang pertama menggunakan biner CGI (php.exe untuk PHP 4 dan php-cgi.exe untuk PHP 5), yang kedua menggunakan Apache Module DLL. Dalam kedua kasus tersebut, Anda perlu mengedit httpd.conf untuk mengonfigurasi Apache agar bekerja dengan PHP dan memulai ulang server.

Saat ini, modul SAPI lebih stabil di Windows, jadi kami menyarankan untuk menggunakannya daripada CGI karena lebih transparan dan aman.

Meskipun ada beberapa pilihan untuk mengkonfigurasi PHP di Apache, semuanya cukup sederhana untuk pemula. Silakan merujuk ke dokumentasi Apache untuk instruksi konfigurasi lebih lanjut.

Jangan lupa untuk me-reboot server setelah mengubah file konfigurasi. Misalnya saja tim BERHENTI BERSIH APACHE Dan MULAI BERSIH APACHE

Komentar:

, jika Apache dijalankan sebagai layanan Windows, atau menggunakan pintasan biasa.

Menginstal PHP sebagai modul Apache

Anda perlu menambahkan baris berikut ke file Apache httpd.conf:

Contoh #17 PHP sebagai modul Apache 1.3.x

Ini mengasumsikan PHP diinstal di c:\php . Ubah jalur jika tidak demikian.

# Tambahkan di akhir bagian LoadModule # Jangan lupa copy file ini dari direktori sapi! LoadModule php4_module "C:/php/php4apache.dll" # Tambahkan di akhir bagian AddModule AddModule mod_php4.c

# Tambahkan di akhir bagian LoadModule LoadModule php5_module "C:/php/php5apache.dll" # Tambahkan di akhir bagian AddModule AddModule mod_php5.c

Untuk kedua versi: # Tambahkan baris ini di dalam

kurung kurawal bersyarat AddType application/x-httpd-php .php # Untuk sintaks file .phps yang disorot, tambahkan juga AddType application/x-httpd-php-source .phps

Instalasi sebagai file CGI biner

Jika PHP dibongkar ke C:\php\ seperti dijelaskan di bagian Langkah Instalasi Manual, Anda perlu menambahkan baris berikut ke file konfigurasi Apache:

Contoh #18 PHP dan Apache 1.3.x sebagai CGI

Perhatikan bahwa baris kedua dalam daftar di atas sudah ada di httpd.conf, tetapi sudah dikomentari. Juga, jangan lupa ganti c:/php/ dengan jalur PHP Anda yang sebenarnya.

Perhatian

"Keamanan CGI" Saat menginstal PHP sebagai CGI, tidak ada opsi yang nyaman untuk penyorotan sintaksis sumber PHP seperti saat menginstal sebagai modul. Jika Anda ingin menggunakannya, Anda perlu menggunakan fungsinya highlight_file() .

.

Untuk melakukan ini, cukup buat skrip PHP dengan kode berikut:

Komentar: Apache 2.x di Microsoft Windows

Pengguna Apache 2.2 harus memperhatikan bahwa file DLL untuk Apache 2.2 disebut php5apache2_2.dll, bukan php5apache2.dll, dan hanya tersedia untuk PHP 5.2.0 dan yang lebih baru.

Anda sangat dianjurkan untuk meninjau » Dokumentasi Apache untuk mendapatkan pemahaman dasar tentang Apache 2.x Server. Selain itu, sebelum membaca bantuan ini, harap perhatikan »Praktik Terbaik Windows untuk Apache 2.x.

Apache 2.x dirancang untuk berjalan pada versi server Windows, seperti Windows NT 4.0, Windows 2000, Windows XP, atau Windows 7. Meskipun Apache 2.x dapat digunakan pada Windows 9x, platform ini tidak sepenuhnya didukung dan beberapa fitur tidak akan berfungsi Benar. Tidak ada rencana untuk memperbaiki situasi ini.

Unduh versi terkini »Apache 2.x dan versi PHP yang sesuai.

Ikuti Panduan Instalasi Langkah demi Langkah dan kembali untuk melanjutkan integrasi PHP dan Apache.

Komentar: Ada tiga cara untuk menginstal PHP untuk Apache di Windows.

Anda dapat menjalankan PHP sebagai penyaji, seperti CGI, atau di bawah FastCGI.

Ingatlah bahwa ketika menentukan jalur dalam file konfigurasi Apache di Windows, semua garis miring terbalik, misalnya c:\directory\file.ext harus diubah menjadi garis miring: c:/directory/file.ext . Jalur direktori mungkin juga memerlukan garis miring.

Menginstal PHP sebagai pengendali di bawah Apache

Anda perlu menambahkan baris berikut ke file konfigurasi Apache httpd.conf Anda untuk memuat modul PHP untuk Apache 2.x:

Komentar: Contoh #19 PHP sebagai pengendali Apache 2.x

# LoadModule php5_module "c:/php/php5apache2.dll" AddHandler application/x-httpd-php .php # mengkonfigurasi path ke php.ini PHPIniDir "C:/php" Jangan lupa untuk menentukan path sebenarnya ke direktori PHP, bukan C:/php/ pada contoh di atas. Berhati-hatilah agar arahan LoadModule menggunakan php5apache2.dll atau php5apache2_2.dll dan pastikan bahwa file yang ditentukan benar-benar terletak di jalur yang Anda tentukan dalam arahan. Konfigurasi di atas akan memungkinkan PHP memproses file apa pun yang berekstensi .php, meskipun ada ekstensi lainnya. Misalnya, file bernama example.php.txt akan dijalankan oleh handler PHP. Untuk memastikan bahwa hanya file itu

memiliki ekstensi

.php akan diluncurkan, gunakan konfigurasi berikut:

Aplikasi SetHandler/x-httpd-php

Untuk menjalankan PHP sebagai CGI, Anda perlu menempatkan file php-cgi Anda di direktori yang ditunjuk sebagai direktori CGI menggunakan direktif ScriptAlilas.

Setelah ini, Anda perlu menambahkan baris #! dalam file PHP, menunjuk ke lokasi file PHP yang dapat dieksekusi.

Contoh #20 PHP sebagai CGI di Apache 2.x

#!C:/php/php.exe

Perhatikan bahwa baris kedua dalam daftar di atas sudah ada di httpd.conf, tetapi sudah dikomentari. Juga, jangan lupa ganti c:/php/ dengan jalur PHP Anda yang sebenarnya.

Dengan menggunakan instalasi CGI, server Anda terbuka terhadap beberapa kemungkinan kerentanan. Silakan lihat bagian Keamanan CGI untuk mempelajari bagaimana Anda dapat melindungi diri dari serangan semacam itu.

Menjalankan PHP di bawah FastCGI

Menjalankan PHP dengan FastCGI memiliki sejumlah keunggulan dibandingkan menjalankannya sebagai CGI. Instalasinya cukup sederhana:

Pengaturan NSAPI di server Sun, iPlanet dan Netscape

Untuk menginstal PHP dengan NSAPI, lakukan hal berikut:

  • Salin php4ts.dll ke systemroot Anda (direktori tempat Anda menginstal Windows)
  • Buat asosiasi file dari baris perintah.

    Ketik dua baris berikut:

  • assoc .php=PHPScript ftype PHPScript=c:\php\php.exe %1 %*
  • Di Netscape Enterprise Administration Server buat tipe mime baru (Kategori: tipe, Tipe Konten: magnus-internal/x-httpd-php, Akhiran File: php).< 6) and add the following: You should place the lines after Edit magnus.conf (untuk server >= 6) atau obj.conf (untuk server.

    pantomim mengetik init

    Init fn="load-modules" funcs="php4_init,php4_execute,php4_auth_trans" shlib="c:/php/sapi/php4nsapi.dll" Init fn="php4_init" LateInit="yes" errorString="Gagal menginisialisasi PHP! " (PHP >= 4.3.3) Itu php_ini

    parameter ini opsional tetapi dengan itu Anda dapat menempatkan php.ini di direktori konfigurasi server web Anda. section, place this line necessarily after all "ObjectType" and before all "AddLog" lines:

    Service fn="php4_execute" type="magnus-internal/x-httpd-php"

    (PHP >= 4.3.3) As additional parameters you can add some special php.ini -values, for example you can set a docroot="/path/to/docroot" specific to the context php4_execute is called. For boolean ini-keys please use 0/1 as value, not "On","Off",... (this will not work correctly), e.g. zlib.output_compression=1 instead of zlib.output_compression="On"

    This is only needed if you want to configure a directory that only consists of PHP scripts (same like a cgi-bin directory):

    ObjectType fn="force-type" type="magnus-internal/x-httpd-php" Service fn=php4_execute

    Konfigurasikan objek default di obj.conf (untuk kelas server virtual di vserver.obj.conf): Di Setelah itu Anda dapat mengkonfigurasi direktori di server Administrasi dan menetapkan gayanya x-httpd-php

  • . Semua file di dalamnya akan dieksekusi sebagai PHP.
  • Ini bagus untuk menyembunyikan penggunaan PHP dengan mengganti nama file menjadi .html.
  • Komentar:

    Mulai ulang layanan web Anda dan terapkan perubahan

    Lakukan untuk setiap instance server web yang Anda ingin PHP jalankan

    Ukuran tumpukan yang digunakan PHP bergantung pada konfigurasi server web. Jika terjadi crash pada script PHP yang berukuran sangat besar, disarankan untuk melaporkannya ke Admin Server (di bagian "MAGNUS EDITOR"). PATH_INFO, HTTP_HOST dll. ini bukan cara yang benar untuk mencobanya dengan cara PHP yang lama dapatkanv() atau cara serupa (daftarkan global ke lingkungan, $_ENV). Anda hanya akan mendapatkan lingkungan server web yang sedang berjalan tanpa variabel CGI yang valid!

    Komentar:

    Mengapa ada variabel CGI (tidak valid) di lingkungan?

    Jawaban: Ini karena Anda memulai proses server web dari server admin yang menjalankan skrip startup server web, Anda ingin memulai, sebagai skrip CGI (skrip CGI di dalam server admin!). Inilah sebabnya mengapa lingkungan server web yang dimulai memiliki beberapa variabel lingkungan CGI di dalamnya. Anda dapat mengujinya dengan memulai server web bukan dari server administrasi. Gunakan baris perintah sebagai pengguna root dan mulai secara manual - Anda akan melihat tidak ada variabel lingkungan seperti CGI.

    Cukup ubah skrip Anda untuk mendapatkan variabel CGI dengan cara yang benar untuk PHP 4.x dengan menggunakan $_SERVER superglobal. Jika Anda memiliki skrip lama yang menggunakan $HTTP_HOST , dll., Anda harus mengaktifkannya register_globals di php.ini dan ubah juga urutan variabelnya (penting: hapus "E" dari itu, karena Anda tidak memerlukan lingkungan di sini):

    variabel_order = "GPCS" register_globals = Aktif

    Penggunaan khusus untuk halaman kesalahan atau daftar direktori buatan sendiri (PHP >= 4.3.3)

    Anda dapat menggunakan PHP untuk menghasilkan halaman kesalahan "404 Tidak Ditemukan" atau serupa. Tambahkan baris berikut ke objek di obj.conf untuk setiap halaman kesalahan yang ingin Anda timpa:

    Kesalahan fn="php4_execute" kode=XXX skrip="/path/to/script.php"

    Di mana XXX adalah kode kesalahan HTTP. Silakan hapus yang lainnya Kesalahan arahan yang dapat mengganggu Anda. Jika Anda ingin menempatkan halaman untuk semua kesalahan yang mungkin ada, tinggalkan kode

    parameter keluar. Skrip Anda bisa mendapatkan kode status HTTP dengan $_SERVER["ERROR_TYPE"] . Kemungkinan lainnya adalah membuat daftar direktori buatan sendiri. Cukup buat skrip PHP yang menampilkan daftar direktori dan ganti baris Layanan default yang sesuai

    ketik = "magnus-internal/direktori"

    di obj.conf dengan yang berikut:

    Layanan fn="php4_execute" type="magnus-internal/directory" script="/path/to/script.php"

      Untuk halaman kesalahan dan daftar direktori, URI asli dan URI terjemahan ada dalam variabel $_SERVER["PATH_INFO"] dan $_SERVER["PATH_TRANSLATED"] .

      Buka maps.ini dan tambahkan baris berikut di bawahnya :

      Contoh #22 Konfigurasi ISAPI untuk Sambar

      #untuk PHP 4 *.php = c:\php\php4isapi.dll #untuk PHP 5 *.php = c:\php\php5isapi.dll

      (Jika PHP diinstal di c:\php .)

      Mulai ulang Sambar agar perubahan diterapkan.

    Komentar:

    Jika Anda ingin menggunakan PHP untuk berkomunikasi dengan sumber daya di komputer lain di jaringan Anda, Anda perlu mengubah akun yang digunakan oleh layanan server Sambar. Secara default, ini adalah LocalSystem dan sumber daya jarak jauh tidak akan dapat diakses. Akun tersebut dapat diedit menggunakan opsi Layanan pada Utilitas Administratif dari Panel Kontrol Windows.

    Xitami di Microsoft Windows

    Bagian ini berisi catatan dan trik khusus untuk » Xitami pada platform Windows.

    Daftar periksa ini menjelaskan cara menginstal pustaka PHP CGI agar berfungsi dengan Xitami di Windows.

    Komentar: Penting bagi pengguna CGI

    Menginstal modul PHP pada OS Windows

    Setelah menginstal PHP dan server web di Windows, Anda mungkin perlu menginstal beberapa modul untuk menambah fungsionalitas. Anda dapat memilih modul mana yang dimuat ketika PHP dimulai dengan memodifikasi file php.ini Anda. Anda juga dapat memuat modul secara dinamis dalam skrip Anda menggunakan fungsi tersebut


    Tautan langsung: php-5.3.10-Win32-VC9-x86.zip
    Pada saat yang sama, segera unduh dokumentasi dalam bahasa Rusia dalam format .chm, Anda akan memerlukannya saat belajar dan bekerja: php_enhanced_ru.chm

    Buka paket arsip ke direktori yang diinginkan (awalnya disarankan "C:\php"). Buka file konfigurasi yang berisi pengaturan yang disarankan - "php.ini-development" (terletak di root distribusi), ganti namanya php.ini dan lakukan perubahan berikut.

    Mengedit php.ini:

    1. Temukan garisnya:
      post_max_size = 8M
      Tingkatkan ukuran data maksimum yang diterima dengan metode POST menjadi 16 MB dengan mengubahnya menjadi:
      post_max_size = 16M
    2. Temukan garisnya:
      ;include_path = ".;c:\php\include"
      Batalkan komentar dengan menghapus titik koma sebelum baris.
      (Perhatian pengecualian! Garis miring terbalik saat menentukan jalur):
      include_path = ".;c:\php\termasuk"
      Buat direktori kosong "C:\php\includes" untuk menyimpan kelas yang disertakan.
    3. Temukan garisnya:
      ekstensi_dir = "./"
      Tetapkan nilai arahan ini ke jalur ke folder dengan ekstensi:
      extension_dir = "C:/php/ext"
    4. Temukan garisnya:
      ;unggah_tmp_dir =
      Batalkan komentar dan tentukan jalur berikut dalam nilainya:
      upload_tmp_dir = "C:/php/unggah"
      Buat folder kosong "C:\php\upload" untuk menyimpan file sementara yang diunggah melalui HTTP.
    5. Temukan garisnya:
      unggah_max_ukuran file = 2M
      Tingkatkan ukuran unggah file maksimum yang diperbolehkan menjadi 16 MB:
      unggah_max_ukuran file = 16M
    6. Hubungkan, batalkan komentar, data perpustakaan ekstensi:
      ekstensi=php_bz2.dll
      ekstensi=php_curl.dll
      ekstensi=php_gd2.dll
      ekstensi=php_mbstring.dll
      ekstensi=php_mysql.dll
      ekstensi=php_mysqli.dll
    7. Temukan garisnya:
      ;tanggal.zona waktu=
      Batalkan komentar dan setel nilai ke zona waktu lokasi Anda (daftar zona waktu dapat ditemukan di dokumentasi):
      date.timezone = "Eropa/Moskow"
    8. Temukan garisnya:
      ;sesi.save_path = "/tmp"
      Batalkan komentar dan setel nilai arahan ini ke jalur berikut:
      sesi.save_path = "C:/php/tmp"
      Buat folder kosong "C:\php\tmp" untuk menyimpan file sesi sementara.
    Simpan perubahan Anda dan tutup file php.ini.

    Selanjutnya, Anda perlu menambahkan direktori dengan interpreter PHP yang diinstal ke PATH sistem operasi. Untuk melakukan ini, ikuti jalur "Mulai" -> "Panel Kontrol" -> "Sistem", buka tab "Lanjutan", klik tombol " Variabel Lingkungan”, di bagian “Variabel Sistem”, klik dua kali pada “ Path” baris, tambahkan “Variable Value” ke field, ke yang sudah ada, path ke direktori dengan PHP terinstal, misalnya, "C:\php" (tanpa tanda kutip). Perhatikan bahwa karakter titik koma memisahkan jalur. Agar perubahan diterapkan, mulai ulang sistem operasi Anda.

    Contoh string Jalur:
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\php;C:\Program Files\MySQL\MySQL Server 5.5\bin

    Instalasi dan konfigurasi interpreter PHP selesai.

    Deskripsi perpustakaan yang terhubung:

    php_bz2.dll– Dengan menggunakan ekstensi ini, PHP akan dapat membuat dan membongkar arsip dalam format bzip2.

    php_curl.dll– Perpustakaan yang sangat penting dan diperlukan yang memungkinkan Anda terhubung dan bekerja dengan server menggunakan sejumlah besar protokol Internet.

    php_gd2.dll– Perpustakaan lain yang sangat diperlukan yang memungkinkan Anda bekerja dengan grafik. Apakah menurut Anda Anda hanya dapat menghasilkan halaman HTML di PHP? Tapi tidak! Dengan PHP Anda dapat melakukan hampir semua hal, termasuk menggambar.

    php_mbstring.dll– Perpustakaan berisi fungsi untuk bekerja dengan pengkodean multi-byte, yang mencakup pengkodean bahasa timur (Jepang, Cina, Korea), Unicode (UTF-8) dan lain-lain.

    php_mysql.dll– Nama perpustakaan berbicara sendiri - Anda perlu bekerja dengan server MySQL.

    php_mysqli.dll– Pustaka ini merupakan perpanjangan dari yang sebelumnya dan berisi fungsi PHP tambahan untuk bekerja dengan server MySQL versi 4.1.3 dan lebih tinggi.

    Pustaka ini seharusnya cukup agar PHP dapat berfungsi dengan baik. Seiring waktu, jika diperlukan, Anda akan dapat menghubungkan perpustakaan tambahan, tetapi Anda tidak boleh menghubungkan semuanya sekaligus dengan pemikiran bahwa Anda tidak akan merusak bubur dengan mentega dalam hal ini, jumlah perpustakaan yang terhubung berlebihan dapat memperlambat PHP secara nyata.

    «

    Artikel ini menjelaskan tentang instalasi Apache 2.4 + PHP 5.6 + MySQL 5.6 pada sistem operasi Windows 7/8/8.1/10

    Sebelum Anda melanjutkan membaca, perhatikan apakah Anda benar-benar perlu menginstal dan mengkonfigurasi semua ini di Windows? Mungkin Anda harus memperhatikan dan tidak membuang waktu dan saraf Anda untuk menyiapkan hal yang sama langsung di Windows? Bagaimanapun, baca artikel tentang. Mungkin ini tidak hanya akan menghemat waktu Anda, tetapi juga kesehatan Anda.

    Instruksi ini akan berguna bagi pengembang WEB pemula yang akan menginstal server WEB Apache dengan penerjemah PHP versi terbaru di PC Windows mereka. Tentu saja, jauh lebih mudah untuk menginstal perakitan seperti Denwer atau menggunakan installer dan tidak mengkhawatirkan pengaturannya. Namun, setiap pengembang WEB terpaksa memahami proses pengoperasian server WEB, proses instalasi dan konfigurasinya.

    Jika Anda ingin menginstal PHP 7, silakan merujuk ke artikel.

    Jika dalam proses perakitan server sesuai petunjuk ini Anda mengalami masalah dan masih menganggap diri Anda sebagai pengembang WEB, maka langkah yang tepat adalah memahami masalah yang muncul, dan tidak menulis di komentar bahwa instruksi tersebut omong kosong. Instruksinya berfungsi. Diuji oleh waktu dan ratusan instalasi. Berhati-hatilah saat melakukan langkah sederhana. Melakukan langkah-langkah secara manual dan menganalisis situasi, jika tidak berhasil, akan menambah keterampilan Anda sebagai pengembang. Jika Anda bukan pengembang WEB dan tidak berencana menjadi pengembang WEB, carilah metode instalasi yang mudah di Internet - petunjuk ini bukan untuk Anda.

    Harap dicatat bahwa pada Windows XP versi ini VC11 tidak mungkin (atau sangat sulit) untuk diluncurkan.

    Pekerjaan persiapan

    Pastikan Anda memiliki Windows 7 atau lebih baru. Jika Anda memiliki Windows XP, petunjuk ini tidak akan membantu Anda, karena versi Apache yang dijelaskan di sini tidak berfungsi pada Windows XP.

    Hapus semua server WEB yang Anda instal sebelumnya, buka layanan dan pastikan tidak ada layanan Apache atau IIS di sana. Jika Anda sudah menginstal server web, kemungkinan besar server web kedua tidak akan berfungsi sama sekali.

    Jika Anda memiliki Skype, pastikan untuk menonaktifkan penggunaan port 80 di pengaturan. Pada akhirnya, Anda perlu memastikan bahwa tidak ada layanan yang menggunakan port 80.

    Untuk pekerjaan, sangat diinginkan untuk memiliki pengelola file yang memungkinkan Anda membuat file dengan ekstensi apa pun, atau, lebih baik lagi, editor kode seperti Sublime Text atau Notepad++ atau IDE lengkap.

    Struktur folder mungkin berbeda, tetapi instruksi ini ditulis untuk struktur tertentu dan, jika Anda mengikutinya, semuanya dijamin berfungsi.
    Sebelum memulai, buat di disk D map USR, di dalamnya buat 5 subfolder: apache, php, tmp, www, mencatat. Itu benar. Tanpa menentukan nomor versi.

    Di katalog www buat file indeks (menggunakan pengelola file atau editor kode) yang diperlukan untuk memeriksa apakah semuanya berfungsi:

    • indeks.html dengan konten: Itu berhasil!
    • indeks.php dengan konten:

    Jika Anda tidak memiliki pengelola file/editor kode/IDE, unduh arsip dengan kedua file ini. Namun, jika Anda menganggap diri Anda seorang pengembang WEB, Anda harus memperoleh alatnya.

    Tambahkan ke variabel sistem PATH:

    ;D:\USR\apache;D:\USR\apache\bin;D:\USR\php;

    Catatan!

    Nomor baris yang diberikan dalam contoh file konfigurasi mungkin berbeda untuk versi apache dan php lainnya.
    Semua perintah, termasuk mengedit file, harus dilakukan sebagai Administrator.

    Menginstal Apache 2.4

    Meskipun untuk pengembangan sederhana di PHP tidak diperlukan server WEB terpisah (PHP memiliki server WEB sendiri, yang hampir selalu cukup untuk pengembangan satu proyek), tetap disarankan untuk menginstal dan mengkonfigurasi server WEB Apache , jika hanya karena programmer harus mengetahui seluk-beluk ini. Pada akhirnya, Anda harus bekerja dengan server WEB dan harus menangani konfigurasinya. Jadi mari kita mulai.

    1. Memuat Biner Apache 2.4 VC11 untuk sistem Anda di tautan http://www.apachelounge.com/download/VC11/ Kemungkinan besar Anda memiliki OS 64-bit, jadi Anda memerlukan file dengan nama seperti httpd-2.4. xx-win64-VC11.zip
    2. Jika Anda memerlukan modul tambahan, Anda dapat mengunduhnya di sana (tidak diperlukan untuk instalasi dasar)
    3. Buka zip isi folder Apache24 dari arsip yang diunduh ke D:\USR\Apache. Harap dicatat bahwa di D:\USR\apache Anda tidak perlu meletakkan folder Apache24 dari arsip, tetapi isinya. Tidak perlu menginstal apa pun.
    4. Ubah nilai dalam file ServerRoot ke "d:/USR/apache" ( baris 37) dan nilai DokumenRoot(Dan Direktori) ke "d:/USR/www" ( baris 242 dan 243). Anda juga harus menghapus komentar pada baris 218 dan mengubahnya menjadi: Nama Server localhost:80
    5. Kami mengubah parameter penyimpanan log dalam file yang sama (temukan parameter dan ubah): ErrorLog "D:/USR/log/apache-error.log" CustomLog "D:/USR/log/Apache-access.log" common
    6. Instal layanan Apache (atas nama Administrator). Buka command prompt sebagai Administrator dan masukkan baris berikut di sana: D:\USR\apache\bin\httpd.exe -k install
    7. Kami memantau pesan kesalahan selama instalasi layanan. Jika semuanya dilakukan dengan benar, seharusnya tidak ada kesalahan. Jika, setelah menjalankan baris, baris perintah tidak muncul lagi, maka Anda melakukan kesalahan. Cukup gunakan fungsi salin dan tempel untuk menghindari kesalahan pengetikan.
    8. Buat pintasan di desktop untuk D:\USR\apache\bin\ApacheMonitor.exe dan/atau letakkan di startup (untuk membuka jendela startup di WIN8, tekan WIN+R, lalu enter cangkang: Memulai dan klik oke)
    9. Luncurkan ApacheMonitor. Pintasan akan muncul di baki sistem. Klik kiri padanya dan pilih Apache24 -> Mulai.
    10. Di browser, buka http://localhost/ - Anda akan melihatnya Itu berhasil!
    11. Jika Anda tidak melihat tulisan seperti itu, kami mencari tahu apa yang salah (kami membaca log, google, coba cari tahu sendiri masalahnya, karena kami memutuskan untuk memahami seluk-beluk server web)

    Menginstal PHP 5.6

    1. Unduh versi terbaru VC11x86Benang Aman atau VC11x64Benang Aman melalui tautan http://windows.php.net/download/. Harap dicatat bahwa Anda membutuhkannya VC11 dan tepatnya Benang Aman. Lebar bit harus sama dengan Apache. File yang Anda perlukan kemungkinan besar diberi nama seperti: php-5.6.11-Win32-VC11-x86.zip atau php-5.6.11-Win32-VC11-x64.zip
    2. Mengekstrak isi arsip ke dalam D:\USR\php. Seperti halnya Apache, tidak perlu menginstal apa pun.
    3. Untuk mengajukan D:\USR\apache\conf\httpd.conf tambahkan baris: LoadModule php5_module "d:/USR/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php # Path ke file php.ini PHPIniDir "D:/USR/php"
    4. Dan ubah nilainya Indeks Direktori pada indeks.html indeks.php (baris 276)
    5. Menggunakan ApacheMonitor kita me-restart Apache (Apache24 -> Restart)
    6. Kami pergi ke browser http://localhost/index.php dan memastikan bahwa PHP berfungsi.
    7. Membuat salinan file D:\USR\php\php.ini-pengembangan dengan nama D:\USR\php\php.ini
    8. Dengan menggunakan pencarian, kami menemukan, menghapus komentar, dan mengubah parameter: extension_dir = "D:/USR/php/ext" sys_temp_dir = "D:/USR/tmp" extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll tanggal.zona waktu = Eropa/Zaporozhye
    9. Jalankan di baris perintah php -m untuk melihat daftar modul yang terhubung.
    10. Mulai ulang Apache menggunakan ApacheMonitor

    Host Virtual di Apache

    1. Jika Anda men-debug beberapa proyek di komputer Anda, Anda mungkin memerlukan host (situs) virtual. Sebagai contoh, kita akan mempertimbangkan dua host virtual: s1.localhost BERHENTI BERSIH APACHE s2.localhost. Untuk kenyamanan, kami akan membuat folder dengan nama yang sama, yang sama sekali tidak diperlukan dalam sistem nyata.
    2. Harap dicatat bahwa saat menggunakan host virtual, parameternya DokumenRoot File konfigurasi Apache tidak lagi masuk akal. Host utama server (yang dapat diakses di http://localhost/) sekarang host virtual pertama di file konfigurasi host virtual!
    3. Pertama, Anda perlu menambahkan baris berikut ke file c:\Windows\System32\drivers\etc\hosts: 127.0.0.1 s1.localhost 127.0.0.1 s2.localhost

      Ini harus dilakukan atas nama Administrator. Dianjurkan untuk melakukan boot ulang setelah ini, tetapi dalam praktiknya hal ini tidak diperlukan. Jika Anda tidak dapat mengubah file (izin), Anda dapat menyalinnya ke desktop, mengubahnya, lalu menyalinnya kembali.

    4. Membuat folder untuk host virtual D:\USR\www\s1.localhost BERHENTI BERSIH APACHE D:\USR\www\s2.localhost, di mana file akan ditempatkan. Buat file di setiap folder indeks.html dengan konten S1 BERHENTI BERSIH APACHE S2 sesuai (untuk memeriksa apakah semuanya berfungsi sebagaimana mestinya)
    5. Lalu kami membuat folder untuk log: D:\USR\log\s1.localhost BERHENTI BERSIH APACHE D:\USR\log\s2.localhost- log untuk setiap situs akan disimpan di sini. Sebenarnya log bisa disimpan dalam satu folder, tapi saya sudah terbiasa melakukannya dengan cara ini - lebih nyaman bagi saya.
    6. Selanjutnya, Anda perlu mengaktifkan dukungan untuk host virtual. Dalam berkas D:\USR\apache\conf\httpd.conf batalkan komentar pada baris tersebut Sertakan conf/extra/httpd-vhosts.conf
    7. Selanjutnya kita edit filenya d:\USR\apache\conf\extra\httpd-vhosts.conf— tampilannya akan seperti ini (setiap host virtual memiliki blok VirtualHost sendiri): Admin Server [dilindungi email] DocumentRoot "D:/USR/www/s1.localhost" Nama Server s1.localhost ServerAlias ​​​​www.s1.localhost ErrorLog "D:/USR/log/s1.localhost/error.log" CustomLog "D:/USR/log /s1 .localhost/access.log" umum Admin Server [dilindungi email] DocumentRoot "D:/USR/www/s2.localhost" Nama Server s2.localhost ServerAlias ​​​​www.s2.localhost ErrorLog "D:/USR/log/s2.localhost/error.log" CustomLog "D:/USR/log /s2 .localhost/access.log" umum
    8. Tuan rumah virtual pertama s1.localhost sekarang akan menjadi host utama sistem, karena bloknya berada di urutan pertama dalam file konfigurasi, mis. akan tersedia saat masuk ke

    Artikel ini memberikan panduan langkah demi langkah untuk menginstal PHP agar berfungsi dengan server HTTP Apache di Windows. Prosedur ini telah diuji pada Windows XP dan Vista. Diasumsikan Anda telah menyelesaikan instalasi Apache.

    Langkah Pengaturan PHP 5

    1. Unduh PHP 5

    Sebelum Anda memulai, unduh salinan PHP 5 dari halaman unduhan. Unduh paket VC6 aman dari bagian "Windows Binaries" - yaitu, jangan unduh penginstal. Misalnya, pilih paket bertanda " Paket zip PHP 5.2.5"jika versi saat ini adalah 5.2.5.

    Catatan: Harap diperhatikan bahwa saya belum menguji prosedur di bawah ini dengan versi PHP 5.3, hanya dengan 5.2.5, yang merupakan versi terbaru pada saat penulisan. Secara teori, langkah yang sama harus diikuti untuk menginstal PHP 7.

    2. Instal PHP5

    Buat folder di hard drive Anda untuk PHP. Saya menyarankan c:php , meskipun Anda dapat menggunakan nama folder dan lokasi yang berbeda. Secara pribadi, saya memilih untuk tidak menggunakan nama dengan spasi.

    Ekstrak semua file dari arsip yang diunduh ke folder ini. Untuk melakukan ini, cukup klik dua kali pada file zip. Dan kemudian drag semua file ke dalam folder c:php.

    3. Bagi yang mengupgrade paket: Hapus file PHP.INI lama dari direktori Windows

    Jika Anda bermigrasi ke PHP 5 dari versi yang lebih lama, buka direktori Windows ( biasanya ini c:windows), dan hapus semua file php.ini yang sebelumnya Anda tempatkan di sana.

    4. Pengaturan PHP

    Buka folder c:php dan buat salinan file yang direkomendasikan php.ini. Beri nama file baru php.ini. Anda sekarang seharusnya memiliki file c:phpphp.in dengan konten yang identik dengan file yang direkomendasikan c:phpphp.ini.

    Catatan: Jika Anda menggunakan Apache 1, Anda perlu memindahkan file php.ini ke direktori Windows ( c:jendela), atau setel variabel lingkungan PATH Anda untuk menyertakan c:php . Jika belum tahu caranya, pindahkan saja file php.ini ke folder c:windows. Anda tidak perlu melakukan ini jika menggunakan Apache 2, karena nantinya kami akan menentukan arahan di file konfigurasi Apache 2 dengan lokasi file php.ini.

    Untuk menginstal PHP di Windows 7 menggunakan editor teks ( misalnya seperti Notepad yang dapat ditemukan di bagian System pada menu Start)? buka file php.ini. Anda mungkin perlu melakukan perubahan berikut pada file:

    a) Termasuk tag pembuka pendek

    Temukan baris berikut:

    short_open_tag = Mati

    Jika short_open_tag disetel ke off , tag seperti "

    Karena banyak skrip PHP pihak ketiga menggunakan "

    short_open_tag = Aktif

    b) Kutipan ajaib

    Ketika Apache PHP diinstal secara default, data yang masuk tidak otomatis di-slash escape. Jika Anda ingin masukan diawali dengan garis miring terbalik (""), misalnya untuk mereproduksi pengaturan hosting, cari baris berikut:

    magic_quotes_gpc = Mati

    dan ganti dengan:

    magic_quotes_gpc = Aktif

    Tidak disarankan melakukan hal ini jika parameter ini tidak disetel di hosting. Bahkan ketika diatur ke Off, Anda masih dapat menggunakannya Fungsi PHP menambahkan garis miring() untuk menambahkan garis miring pada bagian data tertentu.

    c) Menggunakan variabel global

    Sejumlah skrip lama, ketika dijalankan, berasumsi bahwa semua data yang dikirimkan melalui formulir akan secara otomatis memiliki variabel PHP dengan nama yang sama. Misalnya, jika formulir memiliki kolom input bernama "sesuatu", skrip PHP lama berasumsi bahwa prosesor PHP akan secara otomatis membuat variabel bernama $something yang berisi nilai yang ditentukan melalui kolom tersebut.

    Jika Anda menggunakan skrip seperti itu, Anda perlu menemukan baris berikut:

    register_globals = Mati

    dan ubah menjadi:

    register_globals = Aktif

    Peringatan: Saat menginstal PHP di Windows, jangan lakukan ini kecuali Anda memiliki skrip pihak ketiga yang memerlukannya agar berfungsi. Saat menulis skrip baru, yang terbaik adalah selalu berasumsi bahwa elemen register_globals disetel ke " Mati«.

    d) Tampilan kesalahan

    Di situs aktif, kesalahan dalam skrip biasanya dicatat tanpa muncul di file kesalahan PHP. Namun pada mesin lokal, saat Anda menguji dan men-debug skrip PHP, akan lebih mudah untuk mengirim pesan kesalahan ketika terdeteksi langsung ke jendela browser. Dengan cara ini Anda tidak akan melewatkan kesalahan meskipun Anda lupa memeriksa file log kesalahan.

    Agar PHP menampilkan pesan kesalahan langsung di jendela browser, cari baris berikut:

    display_errors = Mati

    dan ubah menjadi:

    display_errors = Aktif

    Pengaturan ini harus selalu disetel ke Nonaktif di situs yang sedang berjalan.

    e) Jalur sesi

    Jika skrip menggunakan sesi, temukan baris berikut:

    ;sesi.save_path = "/tmp"

    session.save_path menentukan folder tempat PHP menyimpan file sesi. Karena folder /tmp tidak ada di Windows, Anda perlu menginstal folder lain. Salah satu caranya adalah dengan membuat folder bernama c:tmp ( seperti sebelumnya kita buat c:php) dan tentukan folder ini untuk parameter ini. Jika Anda melakukan ini, ubah baris ini sebagai berikut:

    sesi.save_path = "c:tmp"

    Perhatikan bahwa selain mengubah jalur, saya juga menghapus awalan titik koma ("";") dari string.

    Anda juga dapat menggunakan folder TEMP saat ini di komputer Anda. Atau buat folder tmp di direktori PHP Anda, seperti c:phptmp dan konfigurasikan file konfigurasi yang sesuai. Ada banyak opsi yang memungkinkan. Jika Anda tidak bisa memutuskan mana yang akan dipilih, buat saja c:php dan lakukan seperti yang saya katakan di atas.

    f) Server SMTP

    Jika Anda telah menginstal PHP 55, jika skrip Anda menggunakan fungsi mail() dan Anda ingin fungsi tersebut berhasil mengirim email di mesin lokal Anda, cari bagian berikut:

    ; Hanya untuk Win32. SMTP = localhost smtp_port = 25 ; Hanya untuk Win32. ;kirim email_dari= [dilindungi email]

    Ubah untuk memasukkan alamat server SMTP dan akun email Anda. Misalnya, jika Anda Server SMTP mail.example.com, dan alamat email [dilindungi email], ubah kodenya menjadi seperti ini:

    SMTP = mail.example.com smtp_port = 25 sendmail_from = [dilindungi email]

    Harap dicatat bahwa setelah ini, ketika skrip mencoba menggunakan fungsi mail(), skrip harus terhubung ke ISP Anda agar dapat berfungsi dengan sukses. Jika Anda tidak mengubah baris di atas dan mencoba menggunakan fungsi mail() dalam skrip, fungsi tersebut akan mengembalikan kode kegagalan dan menampilkan pesan kesalahan.

    Cara mengkonfigurasi Apache untuk PHP 5

    Ada dua cara untuk menginstal Apache PHP. Pertama: atur untuk diunduh Penerjemah PHP sebagai modul Apache. Kedua: konfigurasikan untuk menjalankan penerjemah sebagai biner CGI. Hanya satu dari mereka yang perlu digunakan. Pilih metode modul jika PHP juga diinstal di hosting, seperti modul Apache, atau gunakan metode CGI jika diterapkan di hosting.

    a) Menjalankan PHP 5 sebagai modul Apache

    Untuk mengonfigurasi Apache agar memuat PHP sebagai modul untuk menguraikan skrip PHP, gunakan editor teks ASCII untuk membuka file konfigurasi Apache, httpd.conf.

    Jika Anda menggunakan Apache 1.x, file tersebut terletak di dalam folder c:Program FilesGrup ApacheApacheconf. Pengguna Apache 2.0.x dapat menemukannya di folder C:Program FilesGrup ApacheApache2conf, dan pengguna Apache 2.2.x ada di folder tersebut C:Program FilesApache Software FoundationApache2.2conf. Biasanya, ini terletak di folder conf dari direktori tempat Apache diinstal.

    Temukan bagian file dengan pernyataan LoadModule. Deklarasi yang diawali dengan simbol hash "#" dianggap dikomentari.

    Jika Anda menggunakan Apache 1.x, tambahkan baris berikut setelah semua pernyataan LoadModule:

    LoadModule php5_module "c:/php/php5apache.dll"

    Jika Anda menggunakan Apache 2.0.x, tambahkan baris berikut setelah semua pernyataan LoadModule:

    LoadModule php5_module "c:/php/php5apache2.dll"

    Jika Anda menggunakan Apache 2.2.x, tambahkan baris berikut:

    LoadModule php5_module "c:/php/php5apache2_2.dll"

    Harap dicatat bahwa contoh instalasi PHP ini menggunakan karakter garis miring (“/”), bukan garis miring terbalik (“”) Windows tradisional. Ini bukan salah ketik.

    Jika Anda menggunakan Apache 1.x, temukan rangkaian pernyataan "AddModule" dan tambahkan baris berikut setelah semua baris.

    TambahkanModule mod_php5.c

    Kemudian temukan blok AddType di file dan tambahkan baris berikut setelah pernyataan AddType terakhir. Ini perlu dilakukan, apa pun versi Apache yang Anda gunakan. Untuk Apache 2.2.x Anda perlu menemukan baris AddType di bagian tersebut . Tambahkan baris sebelum menutupuntuk bagian ini.

    Jika Anda memerlukan dukungan untuk jenis file lain, seperti ".phtml", tambahkan ke daftar, misalnya seperti ini:

    Bagi yang menggunakan salah satu versi Apache 2, Anda perlu menentukan lokasi file PHP ini. Tambahkan baris berikut di akhir httpd.conf.

    PHPIniDir "c:/php"

    Jika Anda menggunakan direktori lain, Anda perlu mengubah c:/php ke jalur yang benar. Jangan lupa gunakan garis miring (“/”).

    Jika Anda menggunakan Apache 1, Anda telah menempatkan file php.ini di folder Windows Anda atau di suatu tempat di PATH Anda. Jadi PHP harus menemukannya sendiri.

    Menjalankan PHP 5 sebagai biner CGI

    Jika Anda telah mengkonfigurasi PHP 5 untuk dimuat sebagai modul Apache, Anda dapat melewati bagian ini. Ini ditujukan bagi mereka yang ingin mengkonfigurasi PHP agar dijalankan sebagai biner CGI.

    Prosedur untuk melakukan hal ini ketika menginstal PHP 7 adalah sama untuk Apache 1.x dan semua versi seri 2.x.

    Temukan bagian file konfigurasi Apache yang berisi bagian ScriptAlias. Tambahkan baris di bawah ini tepat setelah baris ScriptAlias ​​untuk " cgi-bin" Jika Anda menggunakan Apache 2.2.x, pastikan baris tersebut sebelum ditutupuntuk bagian .

    Harap dicatat: Jika Anda menginstal PHP di lokasi lain, misalnya c:Program Filesphp , Anda perlu menentukan jalur yang sesuai c:/php/ (misalnya, c:Program Filesphp). Jangan lupa bahwa di sini kita menggunakan garis miring ("/") daripada garis miring terbalik ("").

    SkripAlias ​​​​/php/ "c:/php/"

    Apache perlu mengkonfigurasi tipe PHP MIME. Temukan blok komentar AddType yang menjelaskan penggunaannya dan tambahkan baris berikut di bawahnya. Untuk Apache 2.2.x, temukan baris AddType di bawah . Tambahkan baris di bawah ini sebelum menutup untuk bagian ini.

    Aplikasi AddType/x-httpd-php .php

    Seperti halnya menginstal PHP sebagai modul Apache, Anda dapat menambahkan ekstensi apa pun agar Apache mengenalinya sebagai skrip PHP, misalnya:

    Aplikasi AddType/x-httpd-php .phtml

    Kemudian Anda perlu memberi tahu server untuk mengeksekusi PHP yang dapat dieksekusi setiap kali menemukan skrip PHP. Tambahkan kode berikut ke file, misalnya setelah blok komentar yang menjelaskan " Tindakan«.

    Jika Anda menggunakan Apache 2.2.x, tambahkan kode segera setelah pernyataan AddType yang dijelaskan di atas; Apache 2.2.x tidak memiliki blok komentar " Tindakan«.

    Aplikasi tindakan/x-httpd-php "/php/php-cgi.exe"

    Catatan: Bagian "/php/" akan dikenali sebagai ScriptAlias, sejenis makro yang akan diperluas oleh Apache ke "c:/php/" ( atau "c:/Program Files/php/" jika Anda menginstal PHP di sana). Dengan kata lain, jangan letakkan path "c:/php/php.exe" atau "c:/Program Files/php/php.exe", tetapi gunakan “/php/php-cgi.exe” .

    Jika Anda menggunakan Apache 2.2.x, temukan bagian berikut di file httpd.conf Anda:

    Tambahkan baris di bawah tepat setelah bagian yang baru Anda temukan.

    AllowOverride Tidak Ada Pilihan Tidak Ada Perintah izinkan, tolak Izinkan dari semua

    c) Mengatur halaman indeks default

    Bagian ini berlaku untuk opsi menginstal PHP di Windows sebagai modul Apache dan biner CGI.

    Jika Anda membuat file index.php dan ingin Apache memuatnya sebagai halaman beranda situs, Anda harus menambahkan baris lain ke file httpd.conf. Temukan baris yang dimulai dengan " Indeks Direktori", dan tambahkan" indeks.php" ke daftar file. Misalnya, jika Anda mempunyai kode seperti ini:

    Indeks Direktori Indeks.html

    Distribusi Apache2.2.2 berupa installer bernama apache_2.2.2-win32-x86-no_ssl.msi. Anda dapat menemukannya di www.sai.msu.su/apache/dist/httpd/binaries/win32/

    Jalankan penginstal yang diunduh. Saat penginstal menanyakan di mana Anda akan menginstal Apache, beri tahu dia direktorinya c:/Apache2.2

    Catatan

    Semua instruksi lebih lanjut akan didasarkan pada asumsi bahwa Apache diinstal di direktori c:/Apache2.2. Jika Anda menginstal Apache di direktori berbeda, Anda harus menyesuaikan instruksinya sesuai dengan situasi Anda.

    Menginstal Apache dari penginstal cukup transparan dan tidak menimbulkan kesulitan khusus, sehingga tidak rasional untuk memberikan penjelasan lengkapnya di artikel ini. Berikut ini hanya satu kotak dialog yang perlu diisi pengguna selama proses instalasi. Ini adalah jendela pemilihan nama server. Di kolom “Domain Jaringan” dan “Nama Server”, tuliskan nama server yang akan dikonfigurasikan Apache untuk bekerja secara default.


    Catatan

    Instruksi ini menjelaskan instalasi server Apache dengan asumsi hanya akan digunakan untuk pengujian situs lokal dan tidak akan berfungsi di jaringan Intranet dan Internet. Untuk mengoperasikan server di jaringan Intranet dan Internet, Anda harus memasukkan nama domain asli yang akan digunakan oleh server.

    Jika proses instalasi diselesaikan dengan benar, maka setelah selesai Anda seharusnya sudah menjalankan Apache2.2 sebagai layanan. Untuk memeriksa apakah demikian, buka daftar layanan Windows (“ Mulai" | "Panel Kontrol" | "Administrasi" | "Layanan") dan temukan baris Apache2.2 di dalamnya. (atau Apache2). Status layanan: berjalan atau tidak ditampilkan di kolom ketiga.

    Jika Anda tidak dapat menemukan baris Apache2.2 dalam daftar layanan, maka proses instalasi mungkin gagal dan Apache tidak diinstal sebagai layanan. Dalam hal ini, Anda perlu menginstal sendiri Apache sebagai layanan. Untuk melakukan ini, Anda memerlukan program dengan konsol, seperti FAR, WindowsCommander, TotalCommander, dll.

    Buka program dengan konsol, buka direktori c:/Apache2.2/bin dan jalankan perintah:

    C:/Apache2.2/bin/httpd.exe -k instal

    Anda akan menerima pesan sebagai tanggapan "Layanan Apache2 berhasil diinstal". Tampilan jendela konsol ditunjukkan pada gambar.


    Peluncuran pertama

    Mengelola Apache (memulai, menghentikan, memulai ulang) dilakukan melalui antarmuka grafis untuk mengelola layanan Windows, atau di konsol dengan menjalankan file httpd.exe dengan kunci tertentu.

    Layanan Windows dikelola melalui menu konteks, yang dibuka dengan mengklik kanan pada nama layanan. Jika Apache belum berjalan, jalankan perintah “Start” dari menu konteks.


    Jika Anda ingin bekerja di konsol, maka tombol di bawah ini digunakan untuk mengontrol Apache.

    Perintah Apache melalui konsol

    Httpd.exe -k start (Mulai layanan)
    httpd.exe -k stop (Hentikan layanan)
    httpd.exe -k mulai ulang (Mulai ulang)


    Secara default, direktori root server diatur ke direktori c:/Apache2.2/htdocs. Di situlah file index.html berada, ditampilkan dengan nama localhost. Arahan ini bertanggung jawab untuk menentukan direktori root situs DokumenRoot dalam berkas c:/Apache2.2/conf/httpd.conf.

    DocumentRoot "C:/Apache2.2/htdocs"

    Anda dapat mengubahnya dan menjadikan direktori lain sebagai direktori root server.

    Namun, sebelum melakukan ini, Anda harus melakukan sedikit penyesuaian pada file konfigurasi httpd.conf. Secara default, Apache dikonfigurasi untuk menolak semua akses ke direktori situs dan izin harus ditetapkan secara eksplisit untuk setiap direktori, seperti yang dilakukan untuk direktori C:/Apache2.2/htdocs. Jika Anda memindahkan direktori root server ke direktori lain tanpa mengatur izin yang sesuai, Anda akan menerima kesalahan 403 Terlarang dan halaman seperti yang ditunjukkan pada gambar.


    Oleh karena itu, jika Anda TIDAK bermaksud menggunakan Apache terbaru Anda untuk menyediakan layanan hosting di Internet atau di jaringan lokal, sebaiknya segera hapus proteksi bawaannya.

    Temukan baris di file C:/Apache2.2/conf/httpd.conf:


    Pilihan IkutiSymLinks
    AllowOverride Tidak Ada
    Pesanan ditolak, izinkan
    Tolak dari semua
    Memuaskan semuanya

    Perhatikan garisnya Tolak dari semua.

    Ini melarang semua akses ke direktori, termasuk direktori host virtual. Saat Anda mencoba mengaksesnya, Apache akan merespons dengan kesalahan 403 Forbidden. Penyeimbangnya adalah arahan “Izinkan dari semua”. Menyetel arahan ini akan mengesampingkan arahan "Tolak dari semua".

    Anda dapat mengatur direktif Izinkan dari semua untuk setiap direktori dan untuk setiap host virtual, tetapi Anda dapat melakukannya dengan lebih sederhana dan menghapus (atau mengomentari) direktif Tolak dari semua dari wadah.


    Pilihan IkutiSymLinks
    AllowOverride Tidak Ada
    Pesanan ditolak, izinkan
    # Tolak dari semua orang
    Memuaskan semuanya

    Setelah menyelesaikan langkah sederhana ini, restart Apache. Cara melakukan ini dijelaskan di atas.

    Menginstal PHP

    Server web modern tidak dapat dibayangkan tanpa dukungan untuk halaman yang dihasilkan secara dinamis. Di Rusia, pemimpin di antara teknologi untuk membuat halaman dinamis dan aplikasi web adalah teknologi PHP. Di bawah ini kita akan membahas proses koneksi PHP menggunakan contoh versi 5.3.5. Jika Anda sudah menginstal PHP versi ini, maka Anda bisa langsung menuju ke bagian “Menghubungkan PHP ke Apache2.2.2”.

    Anda dapat mengunduh distribusi PHP dari situs web kami di . Dengan mengikuti tautan tersebut, Anda juga dapat mengetahui aturan memilih distribusi dan mengapa kami mengambil kebebasan menawarkan untuk mengunduh distribusi dari situs web kami, dan bukan dari php.net resmi. Saat mengunduh distribusi yang disediakan di tautan, diasumsikan Anda akan menginstal PHP sebagai modul.

    Buka paket arsip zip dengan php ke direktori c:/php-5.3.5. Ini menyelesaikan instalasi PHP. Tindakan selanjutnya akan berkaitan dengan pengaturan kombinasi PHP+Apache dan konfigurasi PHP itu sendiri.

    Catatan

    Semua instruksi lebih lanjut akan didasarkan pada asumsi bahwa Anda menggunakan php-5.3.5, yang diinstal di direktori c:/php-5.3.5. Jika Anda memiliki versi PHP yang berbeda atau menginstal php di direktori yang berbeda, Anda harus menyesuaikan instruksi yang diberikan dengan situasi Anda.

    Menghubungkan PHP ke Apache2.2.2

    Masalah saat menghubungkan PHP ke Apache2.2

    Jika Anda mencoba menghubungkan modul standar php5apache2.dll ke Apache2.2.2, maka Anda akan gagal. Apache tidak mau memulai, memberikan pesan yang ditunjukkan pada gambar.


    Dan pesan berikut akan muncul di log sistem dan aplikasi:

    Layanan Apache bernama melaporkan kesalahan berikut:
    >>> httpd.exe: Kesalahan sintaks pada baris 115 dari C:/Apache2.2/conf/httpd.conf:
    Tidak dapat memuat C:/php-5.3.5/php5apache2.dll ke server: \xcd\xe5 \xed\xe0\xe9
    \xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.

    Pustaka php5apache2.dll ditujukan untuk Apache 2.0.X; untuk Apache 2.2.X Anda perlu menyertakan pustaka php5apache2_2.dll (terletak di sebelah php5apache2.dll dalam distribusi).

    Mengonfigurasi httpd.conf untuk koneksi PHP

    Untuk menghubungkan php sebagai modul, Anda hanya perlu menambahkan 3 instruksi ke file httpd.conf

    Petunjuk untuk menghubungkan PHP ke httpd.conf

    LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
    Aplikasi AddType/x-httpd-php phtml php
    PHPIniDir "c:/php-5.3.5/"

    Baris-baris ini harus ditempatkan kira-kira di tengah-tengah file httpd.conf, misalnya, tepat setelah arahan LoadModule. Lokasi pasti dari arahan ini tidak penting, tetapi arahan tersebut tidak boleh ditempatkan di awal atau di akhir file httpd.conf.

    • Baris pertama memuat modul PHP yang diimplementasikan di perpustakaan php5apache2_2.dll
    • Baris kedua mengatur korespondensi antara file dengan ekstensi php dan tipe mime application/x-httpd-php, yang diproses oleh modul PHP.
    • Baris ketiga memungkinkan Anda menentukan secara eksplisit lokasi file konfigurasi php.ini.

    Catatan

    Direktif PHPIniDir sangat kurang di Apache1.3, karena sering terjadi kebingungan dalam konfigurasi php ketika ada banyak salinan file php.ini, atau ketika ditempatkan di direktori yang salah.

    Langkah selanjutnya adalah membuat file konfigurasi untuk PHP. Di httpd.conf, arahan PHPIniDir menentukan direktori c:/php-5.3.5 sebagai lokasi file konfigurasi php. File konfigurasi itu sendiri harus disebut php.ini

    Direktori c:/php-5.3.5 berisi beberapa templat file konfigurasi. Mari kita ambil file tersebut sebagai dasar c:/php-5.3.5/php.ini-direkomendasikan dan ganti namanya menjadi php.ini. Dengan demikian, file konfigurasi PHP (php.ini) akan ditempatkan di direktori c:/php-5.3.5 dan disinilah semua perubahan konfigurasi PHP harus dilakukan.

    Setelah melakukan perubahan pada httpd.conf dan membuat file php.ini, restart Apache.

    Buat skrip pengujian PHP bernama phpinfo.php yang menjalankan fungsi yang sama dan simpan ke direktori c:/Apache2.2/htdocs.

    Skrip phpinfo.php

    gema phpinfo();

    // Perhatikan bahwa sintaks notasi lengkap digunakan
    // skrip php.?>

    Catatan

    Skrip pengujian phpinfo.php menggunakan sintaks lengkap untuk mendefinisikan skrip PHP. Dalam distribusi PHP terbaru, sintaksis steno dinonaktifkan secara default. Arahan ini bertanggung jawab untuk mengaktifkan mode perekaman pendek short_open_tag di file php.ini. Itu perlu diatur ke log_kesalahan =.

    Sekarang akses skrip ini melalui browser Anda dengan masuk di bilah alamat http://localhost/phpinfo.php. Sebagai tanggapan, Anda akan diperlihatkan halaman ungu terkenal yang menampilkan pengaturan php dan ekstensinya.


    Jika muncul laporan fungsi phpinfo() berupa “tabel ungu” berarti php berhasil dijalankan oleh Apache.

    Kemungkinan kesalahan

    Apache memuat, tetapi alih-alih "tabel ungu", ia membuka halaman kosong.

    Periksa: apakah skrip pengujian ditulis dalam sintaksis lengkap atau dalam sintaksis yang dipersingkat? Itu.:

    Harus dicatat
    gema phpinfo();
    ?>
    alih-alih
    gema phpinfo();
    ?>

    • Sergei Savenkov

      semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat