Windows 7 下PHP环境搭建
??? 有一段时间没有写东西了,这几天弄了点PHP的东西,现在给大家分享个PHP的运行环境搭建,
虽然网上有很多LMAP和WMAP一类的一键安装工具,但是我认为,还是自己动手,才能理解这门语言的运行环境,在以后的开发中更游刃有余。
因为在Linux中开发用得比较少,我下面就本机的Windows 7 系统下安装PHP运行环境给大家做个介绍,分享一下我的成果。
?首先,我们要准备好相关的运行环境安装包,我用的是PHP5.3 + Apache2.2+ MySQL5.5
下载地址分别是:
?
?PHP:http://windows.php.net/downloads/releases/php-5.4.7-Win32-VC9-x86.zip
Apache:http://mirror.bjtu.edu.cn/apache//httpd/binaries/win32/httpd-2.2.22-win32-x86-no_ssl.msi
MySQL:http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.28-win32.msi
?
这里我仅拿本人PC进行配置,路径是我自己的本机路径,各位可以按照自己实际安装路径进行配置。
?
?
一、我们先来配置Apache(安装步骤就省略了,这个不难)
?
?1、找到Apache安装目录下的conf文件夹,我这里是C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf,找到httpd.conf文件。这个是Apache的核心配置文件,我们需要增加以下几行:
?
#加载PHP处理模块
LoadModule php5_module "C:/php/php5apache2_2.dll"?
#添加PHP后缀的处理
AddType application/x-httpd-php .php???
PHPIniDir "C:/php"
?
看#号我写的注释大家应该也明白了,先是要加载PHP的处理模块,这样访问Apache的时候它才会调用PHP进行请求处理。
如果在PHP安装包中找不到php5apache2_2.dll,那么说明你下的PHP版本不对
我们在PHP官网看到,PHP分两个版本,一个是VC9 x86 Non Thread Safe ,一个是VC9 x86 Thread Safe ,就是说一个带Apache模块,一个不带Apache模块,这里一定要注意选择带Apache的ZIP包。
?
然后第二句是添加PHP后缀的处理,表示当Apache接收到内容头为application/x-httpd-php 或后缀为.php的文件时,将交给PHPIniDir 下的相关进行处理,这样我们的PHP文件就能通过Apache然后让PHP进行编译了。
?
2、将DocumentRoot 与 Directory 目录均改为网页目录所在路径,其实就是自定义一个工作空间,以后开发PHP都把项目放到这个工作空间下,浏览器访问本地IP就可以浏览所有的PHP项目了,非常方便。
我这里改为
?? DocumentRoot "D:/PHPWorkspace"?
??
??
?
? 大家按自己实际情况改。
?
OK,Apache方面配置完成。
?
二、然后来配置PHP:
?
1、 php.ini
?
将下载好的PHP源包解压到C盘PHP下(这个可以自己放位置,但建议不要放到太深层的目录以及目录名不能包含中文和空格,这可能会让你郁闷到抓狂)。
?
然后找到PHP目录下的php.ini-development文件,这里有两个相似的文件,一个是php.ini-development,一个是php.ini-production,从文件名我们也可以看出来,一个是适合开发用的,一个适合项目发布用的,所以,我们修改php.ini-development这个文件,直接把文件名php.ini后面的删掉(最好先备份),这样就变成了php.ini,嘿嘿,是不是很熟悉呢,对的,我们要的就是这个配置文件。接着打开它,我们要修改的一个是
?
;extension_dir="ext"
?
查找到这句,然后改成
;extension_dir = "C:/php/ext"
?
并且把前面作注释用的? ;?? 号 去掉,就变成了这样
?extension_dir = "C:/php/ext"
?
即ext的本地绝对路径,这个按照自己的实际情况改。
然后还有一个就是让PHP支持MYSQL,很简单,找到??
;extension=php_mysql.dll?
这句,把 ;? 号去掉就OK了。这个不用解释了吧。
?
?
?三、MYSQL(安装步骤省略)
?
前面在PHP.ini 中我们已经配置好了允许PHP使用MYSQL,这里就不需要任何配置了
?,只要保证MYSQL是能正常使用的就OK了
?
四、调试
?
我们在之前定义的工作空间下新建个PHP文件,内容是:
?
$link=mysql_connect('localhost','root','admin');
if(!$link) echo "失败!";
else echo "成功!";
mysql_close();
?>
相信懂PHP的人都看得懂这句话,一句数据库接连代码,然后我们保存,浏览器输入127.0.0.1访问一下,
就可以看到我们刚才新建的PHP文件,点击链接进去如果输出成功, 那么我们的环境就配置成功了。
?
五、常见问题:
?
1,如果运行PHP文件时没有看到网页而是出现下载提示框 ,那么就说明你的PHP文件没有被Apache识别并交给PHP进行处理,这个问题出在Apache的httpd.conf文件中的那三句代码。
2、如果PHP文件能看到网页内容但是显示
????? Fatal error: Call to undefined function mysql_connect() in D:\PHPWorkspace\test.php on line 2
????
???? 那么就表示你的PHP文件已经能被编译,Apache方面已经正常了,问题出在php.ini,没有允许使用MYSQL数据库或是ext目录没有被定位到,即?extension_dir = "C:/php/ext"的问题。
3、记得修改一般修改配置文件的时候都要重启Apache让更改生效。
?
?
?
由于本人也是正在学习的过程中,写的文章技术含量不高,但能记录我学习旅途上的点点滴滴,这些东西仅适合于新手,高手见笑了。??????????????????????????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????By 小敏
?

thesecrettokeepingAphp-poweredwebsiterunningsmoothlydlyUnderHeavyloadInvolvesEveralKeyStrategies : 1) ubstractOpCodeCachingWithOpCacheTecescripteExecutionTime, 2) usedatabasequeryCachingwithRedSendatabaseload, 3) LeverAgeCdnslikeCloudforforporerververforporporpin

Code는 코드가 더 명확하고 유지 관리하기 쉽기 때문에 의존성 주입 (DI)에 관심을 가져야합니다. 1) DI는 클래스를 분리하여 더 모듈 식으로 만들고, 2) 테스트 및 코드 유연성의 편의성을 향상시키고, 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하지만 성능 영향 및 순환 종속성에주의를 기울이십시오. 4) 모범 사례는 추상 인터페이스에 의존하여 느슨한 커플 링을 달성하는 것입니다.

예, PPAPPLICATIONISPOSSIBLEADESLESTION.1) INVERECINGUSINGAPCUTERODUCEDABASELOAD.2) INCODINCEDEXING, ENGICIONEQUERIES 및 CONNECTIONPOULING.3) 향상된 보드 바이어링, 플로 팅 포르코 잉을 피하는 최적화 된 APPCUTERODECEDATABASELOAD.2)

theKeyStrategiesToSINCINTIFILINTINTIFILINTINTHPPORMATIONPERFORMANCEARE : 1) USEOPCODECACHING-CCHACHETEDECUTECUTINGTIME, 2) 최적화 된 ABESINSTEMENTEMENDSTEMENTEMENDSENDSTATEMENTENDS 및 PROPERINDEXING, 3) ConfigureWebSerVERSLIKENGINXXWITHPMFORBETPERMERCORMANCES, 4)

aphpdectionenceindectioncontainerisatoolthatmanagesclassdependencies, 향상 Codemodularity, testability 및 maintainability.itactAsacentralHubForCreatingAndingDinjectingDingingDingingdecting.

대규모 응용 프로그램의 경우 SELLENCIONINGESS (DI)를 선택하십시오. ServicElocator는 소규모 프로젝트 또는 프로토 타입에 적합합니다. 1) DI는 생성자 주입을 통한 코드의 테스트 가능성과 모듈성을 향상시킵니다. 2) Servicelocator는 센터 등록을 통해 서비스를 얻습니다. 이는 편리하지만 코드 커플 링이 증가 할 수 있습니다.

phPapplicationSCanBeoptimizedForsPeedandefficiencyby : 1) ENABLEOPCACHEINPHP.INI, 2) PREPAREDSTATEMENTSWITHPDOFORDATABASEQUERIES 사용

phpeMailValidationInvoLvestHreesteps : 1) formatValidationUsingRegularexpressionsTochemailformat; 2) dnsValidationToErethedomainHasaValidMxRecord; 3) smtpvalidation, theSTHOROUGHMETHOD, theCheckSiftheCefTHECCECKSOCCONNECTERTETETETETETETWERTETWERTETWER


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구