PHP的歷史
- 1994年:PHP由Rasmus Lerdorf于1994年創(chuàng)建,剛剛開始是Rasmus Lerdorf為了要維護個人網(wǎng)頁而制作的一個簡單的用Perl語言編寫的程序。后來又用C語言重新編寫,包括可以訪問數(shù)據(jù)庫。
- 1995年:以Personal Home Page Tools (PHP Tools) 開始對外發(fā)表第一個版本,在這一版本中,提供了訪客留言本、訪客計數(shù)器等簡單的功能。
- 1997年:任職于 Technion IIT公司的兩個以色列程序設(shè)計師:Zeev Suraski 和 Andi Gutmans,重寫了 PHP 的剖析器,而 PHP 也在這個時候改稱為PHP:Hypertext Preprocessor。
- 1998年:正式發(fā)布 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 發(fā)布后開始改寫PHP 的核心,這個在1999年發(fā)布的剖析器稱為 Zend Engine。
- 2000年:5月22日,以Zend Engine 1.0為基礎(chǔ)的PHP 4正式發(fā)布。
- 2004年:正式發(fā)布 PHP 5。PHP 4已經(jīng)不再繼續(xù)更新。
- 至今:更完善的功能,更加少的BUG。
PHP運行環(huán)境及原理
PHP.png
搭建 AMP 環(huán)境
- Apache
-
安裝 Apache:
apache1.png
apache2.png
apache3.png
apache4.png - Apache 主頁:默認(rèn)的位置htdocs/
- 常用概念:
0. localhost :代表本地服務(wù)器(特殊域名、站點);
1. 127.0.0.1:代表本地服務(wù)器(特殊 IP 地址);
2. IP 地址:互聯(lián)網(wǎng)上每一臺主機的邏輯地址;
3. 域名:便于 IP 地址記憶和使用的字符名稱;
4. 域名解析:域名到 IP 地址的轉(zhuǎn)換過程;
5. DNS 服務(wù)器:專門解析域名的服務(wù)器;
6. 本地域名解析:對于開發(fā)環(huán)境,使用 hosts 解析域名,規(guī)則如下:
192.168.1.1 www.abc.com
192.168.1.123 www.php.com
文件路徑:C盤/system32/drivers/etc/hosts - PHP 命令行
PHP 支持 CMD 直接運行。 - 執(zhí)行 PHP 文件:
php.exe -f "php文件路徑"
這種運行方式需要兩個具體位置:
1. 在 php.exe 的文件位置下;
2. 運行的文件的絕對路徑;
C:\Users\THEyA>C:\somedir\php\php.exe -f "D:\somedir\test.php"
代碼執(zhí)行....
在設(shè)定環(huán)境變量后可以省略掉 php.exe 的文件路徑。
- 執(zhí)行 PHP 腳本:
php.exe -r "php腳本代碼"
C:\Users\THEyA>C:\somedir\php\php.exe -r "$i=10; $i++; echo $i;"
11
- 配置 Apache
Apache 安裝完成后,還需要進行自定義配置,才可以運行 php 腳本。 - Apache 配置文件目錄:安裝目錄/ conf/ httpd.conf
- Apache 是以模塊化的方式來運行,其中內(nèi)置了很多模塊:
LoadModule actions_module modules/mod_actions.so 已經(jīng)加載的模塊
LoadModule alias_module modules/mod_alias.so 已經(jīng)加載的模塊
#LoadModule auth_digest_modules/mod_auth_digest.so 未加載
#LoadModule authn_alias_modules/mod_authn_alias.so 未加載
- 配置 php
1. 加載模塊
#php 在 Apache 中也是以模塊加載的,需要手動設(shè)定。
#LoadModule php5_module "php5的模塊文件路徑";
LoadModule php5_module "C:\....somedir\php\php5apache2_2.dll"
2. 關(guān)聯(lián)文件
#設(shè)置 php 后綴文件由 php 模塊執(zhí)行。
# \.php$ 代表所有 php 后綴文件。
<FilesMatch "\.php$">
setHendler application/x-httpd-php
<FilesMatch>
關(guān)聯(lián)自定義文件
<IfModule mime_module>
#設(shè)置三種自定義后綴的文件關(guān)聯(lián) php 模塊
AddType application/x-httpd-php .php .ppd .psp
- 配置運行環(huán)境
- php 配置文件
php 提供了兩個推薦配置文件,文件在 php 跟目錄下:
1. php.ini-development 開發(fā)階段使用的配置文件。
2. php.ini-production 產(chǎn)品階段推薦使用的配置文件。
在使用時修改成:php.ini。 - 在 Apache 中設(shè)置 php.ini 文件夾路徑:
#只需要指定文件夾路徑即能生效
PHPInDir "C:\somedir\php"
- 配置時區(qū)
在 php.ini 中修改 timezone:data.timezone = PRC
- 配置數(shù)據(jù)庫
在 php.ini 中修改 extension:
; extension=php_exif.dll 默認(rèn)關(guān)閉
extension=php_mysql.dll 打開
extension=php_mysqli.dll 打開
同時指定 mysql 模塊的路徑:
; extension_dir="ext"; 默認(rèn)狀態(tài)
extension_dir="C:\....somedir\php\ext"