Jadual Kandungan
回复内容:
Rumah pembangunan bahagian belakang tutorial php 既然apache也是调php解析器php-cgi.exe去执行php的,为啥一定要安装apache呢?

既然apache也是调php解析器php-cgi.exe去执行php的,为啥一定要安装apache呢?

Jun 06, 2016 pm 08:34 PM
cgi php

既然apache也是调php解析器php-cgi.exe去执行php的,为啥一定要安装apache呢?
为啥不是直接把请求给php-cgi.exe, 还要经过apache绕一下?

回复内容:

既然apache也是调php解析器php-cgi.exe去执行php的,为啥一定要安装apache呢?
为啥不是直接把请求给php-cgi.exe, 还要经过apache绕一下?

既然apache也是调php解析器php-cgi.exe去执行php的,为啥一定要安装apache呢?

一个php的地址请求的时序图是这样的,php-cgi是和apache之间进行fastcgi通信的监守程序,是不能被去掉的。
当然apache还有一种不通过fastcgi进行调用php的方式,即apache模块方式:

<code>LoadModule php5_module /usr/lib/apache/libphp5.so
</code>
Salin selepas log masuk

这个时候时序图上是没有php-cgi这个实体的,apache直接调用php.

apache实现了http协议及相关内容,而php只是可以作为它的一个扩展而已
如果你用php实现http协议相关内容,也可以无需apache的。

当然你也可以这样:

<code>php -S 0.0.0.0:8080 -t /www
</code>
Salin selepas log masuk

直接用php内置的web server,无需安装apache。

PHP作为Apache的一个module(libphp5.so)集成到Apache进程(httpd)运行,这种mod_php的运行模式是最常用的,这时PHP的运行跟php-cgi没有任何关系.mod_php的配置是这样:

<code>LoadModule php5_module modules/libphp5.so
AddHandler application/x-httpd-php .php
</code>
Salin selepas log masuk

可以配置extra/httpd-mpm.conf来控制Apache的进程数量.

如果你在Apache里用mod_fcgid方式来运行PHP,则需要使用php-cgi,这时Apache作为有一个FastCGI进程管理器来管理php-cgi,在httpd.conf配置:

<code>#载入mod_fcgid模块(不能和php5_module同时使用)
LoadModule fcgid_module modules/mod_fcgid.so
AddHandler fcgid-script .php
#php-cgi的进程数量
FcgidMaxProcesses 5
#指定php-cgi来处理php请求
FcgidWrapper /png/php/5.4.39NTS/bin/php-cgi .php
#在需要使用php-cgi来执行PHP的Directory加上Options +ExecCGI,比如:
<directory>
    Options +ExecCGI
</directory>
</code>
Salin selepas log masuk

另外在Linux上还有一种非常常用的组合,就是Nginx搭配php-fpm使用,其中php-fpm跟php-cgi没有任何关系,php-fpm自身就集成了PHP解释器,php-fpm有自己的进程管理器,只处理Nginx转发过来的PHP请求并返回,跟Nginx是松耦合的.

php-cgi.exe不是http服务器,它接受的协议和apache完全不一样。如果需要去掉apache就必须用php实现http协议,会导致很多无用代码还可能有bug。

一个网站的构成,除了php生成的动态内容之外,还有其它的部分,比如静态内容,如果由php去下发这些静态内容的话,效率自然不如专门为这种工作优化过的web server来得高效。

除了静态内容之外,还有记录访问日志、url rewrite、http协议相关的很多东西,假设世界上没有web server这种东西,那我们无论使用什么语言来开发网站,都必须把这些东西写一遍。把这些东西独立出来,实现成为web server,就节约了大量的重复性劳动,而且无论后端使用任何语言,都可以直接通过部署到web server享受到这些便利。这一点其实跟我们在设计系统的时候把某些逻辑专门抽象封装出来是一个道理。

别的不说,后端直接暴露在公网你还真敢干啊。。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini 7 Fungsi PHP Saya Menyesal Saya Tidak Tahu Sebelum ini Nov 13, 2024 am 09:42 AM

Jika anda seorang pembangun PHP yang berpengalaman, anda mungkin merasakan bahawa anda telah berada di sana dan telah melakukannya. Anda telah membangunkan sejumlah besar aplikasi, menyahpenyahpepijat berjuta-juta baris kod dan mengubah suai sekumpulan skrip untuk mencapai op

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Jelaskan JSON Web Tokens (JWT) dan kes penggunaannya dalam PHP API. Apr 05, 2025 am 12:04 AM

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Program PHP untuk mengira vokal dalam rentetan Program PHP untuk mengira vokal dalam rentetan Feb 07, 2025 pm 12:12 PM

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Terangkan pengikatan statik lewat dalam php (statik: :). Terangkan pengikatan statik lewat dalam php (statik: :). Apr 03, 2025 am 12:04 AM

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

See all articles