search
HomeBackend DevelopmentPHP Tutorial一步一步学PHP(一): Windows下配置Nginx + PHP开发环境

一步一步学PHP(1): Windows下配置Nginx + PHP开发环境
1,下载并安装nginx

  • 1.1 下载地址:http://nginx.org/en/download.html
  •                   http://nginx.org/download/nginx-1.3.0.zip
  • 1.2 解压 nginx-1.3.0.zip 到G:\webserver
  • 1.3 到G:\webserver将nginx-1.3.0文件夹重命名为nginx

  • 2,启动nginx并测试nginx正常运行
  • 2.1 到G:\webserver\nginx执行nginx.exe,在任务管理器可看到nginx.exe进程存在
  • 2.2 在浏览器输入http://127.0.0.1,可看到"Welcome to nginx!"表示nginx正常运行

  • 3,了解PHP版本中VC9、VC6、Thread Safe、Non Thread Safe的区别
  • 3.1 VC9 版本和 VC6 版本的区别
  •        VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那你就选择 VC6 版本。

           VC9 版本是使用 Visual Studio 9(2008) 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。
  • 3.2 Thread Safe 和 Non Thread Safe 版本的区别
  •         先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。

            再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。

            ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

            而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

    4,下载并安装php
  • 4.1 下载地址:http://windows.php.net/download
  •                   http://windows.php.net/downloads/releases/php-5.4.3-nts-Win32-VC9-x86.zip
  • 4.2 到G:\webserver目录下创建子文件夹php
  • 4.3 解压php-5.4.3-nts-Win32-VC9-x86.zip 到G:\webserver\php目录下

  • 5,创建源文件目录
  • 5.1 将nginx目录下的html目录拷贝到G:\webserver\目录下,并重命名为webroot

  • 6,配置并启动nginx
  • 6.1 修改G:\webserver\nginx\conf\nginx.conf,与未修改前的区别如下:
  • [[email protected] test]# diff nginx.conf nginx.conf.default 44,45c44,45             root   html;>             index  index.html index.htm;65,70c65,71         #location ~ \.php$ {>         #    root           html;>         #    fastcgi_pass   127.0.0.1:9000;>         #    fastcgi_index  index.php;>         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;>         #    include        fastcgi_params;>         #}[[email protected] test]# 
  • 6.2 在命令行状态下,到G:\webserver\nginx目录下执行nginx.exe -t 测试配置文件是否正确
  • 6.3 在G:\webserver\nginx目录下执行nginx.exe启动nginx
  • 6.4 在命令行状态下,到G:\webserver\nginx目录下执行nginx.exe -s stop停止nginx,nginx.ex -s reload重新加载配置

  • 7,配置并启动php
  • 7.1 到G:\webserver\php目录下,为了保存原始配置文件,拷贝php.ini-development为php.ini.default
  • 7.2 将php.ini-development重命名为php.ini (这时有php.ini和php.ini.default两个相同的配置文件)
  • 7.3 打开php.ini,查找short_open_tag = Off 修改为 查找short_open_tag = On
  • 7.4 为了可以打开常用的扩展,并设置默认时区为重庆,在文件末尾加入如下内容:
  • extension_dir = "G:\webserver\php\ext"extension=php_curl.dll extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll extension=php_mysqli.dll extension=php_pdo_mysql.dll extension=php_pdo_sqlite.dll extension=php_sockets.dll extension=php_sqlite.dll extension=php_sqlite3.dll extension=php_exif.dll date.timezone = Asia/Chongqing
  • 7.5 和未修改的配置文件php.ini.default对比,区别如下
  • [[email protected] test]# diff php.ini php.ini.default 211c211 short_open_tag = Off1860,1874d1859
  • 7.6 启动php:G:\webserver\php\php-cgi.exe -b 127.0.0.1:9000 -c G:\webserver\php\php.ini


  • 8,测试php开发环境配置成功
  • 8.1 在webroot目录下创建phpinfo.php,保存如下内容:
  • <title>phpinfo</title><center><h1 id="Welcome-to-php">Welcome to php</h1></center><?php phpinfo();?>
  • 8.2 在浏览器输入http://127.0.0.1/phpinfo.php可看到"Welcome to php"和phpinfo信息,表示php配置成功

  • Statement
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

    ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

    Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

    You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

    PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

    Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

    PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

    ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

    PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

    APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

    Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

    Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

    PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

    PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

    PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

    PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Article

    Hot Tools

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    SublimeText3 Linux new version

    SublimeText3 Linux new version

    SublimeText3 Linux latest version

    SAP NetWeaver Server Adapter for Eclipse

    SAP NetWeaver Server Adapter for Eclipse

    Integrate Eclipse with SAP NetWeaver application server.

    MinGW - Minimalist GNU for Windows

    MinGW - Minimalist GNU for Windows

    This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software