当前位置:

首页 > 编程开发 > php笔记

php笔记

Windows 11
Windows 11

Windows 11 是微软全新操作系统,现代化界面,流畅操作体验,适用于学习、工作与日常生活。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

立即下载
¥159
Windows 2026-08-17
正版软件 Windows 操作系统 Windows 11 Windows下载
本文目录

    PHP常见环境搭建方式包括Windows、CentOS和编译安装。Windows下解压PHP并配置Web服务器;CentOS通过yum安装php72w及扩展并配置php-fpm;编译安装需定制参数。PHP连接MySQL推荐MySQLi或PDO扩展。php.ini配置影响性能与安全,关键参数包括引擎、短标签、上传文件大小、禁用函数等。

    说到PHP运行环境的搭建,这几乎是每个后端开发者入门时都会碰到的问题。不论是Windows下的本地开发环境,还是CentOS服务器上的生产环境部署,亦或是PHP与MySQL的协同工作,背后都有一套相对固定的流程。下面我们就从几个核心角度,把这个问题彻底讲透。

    Windows下PHP运行环境安装

    先说Windows环境。PHP官方提供了Windows下的安装包,直接下载解压就行。下载地址一般在windows.php.net,选择对应的版本即可。

    解压后,结合Apache或Nginx进行配置就能跑起来了。这里有几个关键概念需要理清:

    php-fpm - PHP FastCGI进程管理器,负责管理PHP进程池,处理来自Web服务器的请求。可以理解为PHP的“调度中心”。

    php-fastcgi - 只是一个CGI程序,负责解析PHP请求并返回结果,但不具备管理功能。这也就是为什么后来出现了php-fpm。

    php-cgi - 在php-fastcgi出现之前,php-cgi就已经存在了,但因为执行效率低下,逐渐被php-fastcgi取代。

    了解这些名词,有助于后续排查问题。

    PHP连接MySQL

    PHP 5及以上版本,官方推荐用两种方式连接MySQL:MySQLi扩展(i代表improved)和PDO(PHP Data Objects)。PDO支持12种不同数据库,而MySQLi只针对MySQL。

    使用前,需要修改php.ini文件,开启mysqli扩展并指定扩展目录:

    extension=mysqli
    extension_dir = "D:/Tools/PHP/php-7.3.12-Win32-VC15-x64/ext"

    然后通过 php.exe -m 命令查看已加载的扩展,确认mysqli已经启用。

    CentOS 7下用yum安装PHP 7.2

    生产环境里,CentOS + yum的组合是最省事的。安装前,先检查一下系统是否已经装了PHP:

    yum list installed |grep php
    rpm -qa |grep php

    如果用的是自己编译安装的方式,可以通过查找php的执行程序或者检查进程(ps -ef |grep php)来确认。

    接下来配置PHP源:

    yum install epel-release
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    然后安装php-fpm和常用扩展:

    yum install php72w-fpm
    yum -y install php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-pear php72w-devel

    安装完成后,用 php -v 查看版本,用 php -m 查看所有扩展,确认一切正常。

    配置文件的位置也很明确:

    php.ini - /etc/php.ini
    phpize - /usr/bin/phpize
    php-config - /usr/bin/php-config
    php-fpm.conf - /etc/php-fpm.conf
    php-fpm.pid - /var/run/php-fpm/php-fpm.pid

    需要修改 /etc/php-fpm.d/www.conf 文件,设置监听端口和允许连接的客户端:

    listen = 127.0.0.1:9000
    listen.allowed_clients = 127.0.0.1

    最后启动php-fpm:

    service php-fpm start/stop/restart

    其他扩展按需安装,比如php72w-cli、php72w-common、php72w-devel、php72w-fpm、php72w-gd、php72w-mbstring、php72w-mysqlnd、php72w-opcache、php72w-pdo、php72w-xml等,大部分常用的都在这里了。

    编译式安装PHP

    如果对性能有更高要求,或者需要定制化编译参数,那就得用编译安装的方式。步骤如下:

    1. 下载PHP安装包:wget -O php7.tar.gz http://cn2.php.net/get/php-7.1.1.tar.gz/from/this/mirror

    2. 解压并进入目录:tar -xvf php-7.1.1.tar.gz && cd php-7.1.1

    3. 安装依赖包:yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

    4. 编译配置。这一步很关键,参数较多,但每个参数都有明确含义。比如 --prefix 指定安装目录,--enable-fpm 开启php-fpm,--with-fpm-user 和 --with-fpm-group 指定运行用户,--with-mysqli=mysqlnd 和 --with-pdo-mysql=mysqlnd 启用MySQL支持等。

    5. 安装:make && make install

    6. 配置环境变量:在 /etc/profile 尾部添加 PATH=$PATH:/usr/local/php/bin,然后执行 source /etc/profile 使生效。

    7. 配置php-fpm:复制 php.ini-production 到 /etc/php.ini,复制 php-fpm.conf.default 和 www.conf.default 到对应位置,再从 sapi/fpm 目录复制启动脚本到 /etc/init.d/php-fpm,并赋予执行权限。

    8. 启动php-fpm:/etc/init.d/php-fpm start

    PHP日志文件

    通过 phpinfo() 可以查看日志文件的具体位置。确定Web服务器是以哪种方式支持PHP,通常有两种方式:

    1. 通过模块加载的方式,适用于Apache。这种情况下,日志配置可以在 httpd.conf 和 php.ini 中设置。

    2. 通过CGI/fastCGI模式,这种方式Web服务器一般都支持。日志配置主要在 php.ini 中完成。

    php.ini配置

    php.ini 是PHP的核心配置文件,对性能和安全都有直接影响。以下是一些关键参数:

    engine = On - 是否启用PHP解析引擎。
    short_open_tag = On - 允许使用 output_buffering = 4096 - 输出缓冲区大小,建议设为4096~8192。
    max_execution_time = 30 - 每个脚本最大执行秒数。
    memory_limit = 1024M - 每个脚本的内存限制。
    display_errors = On - 是否显示错误。生产环境建议关闭,改用日志记录。
    log_errors = On - 开启错误日志记录。
    upload_max_filesize = 10M - 上传文件最大限制。
    date.timezone = "Asia/Shanghai" - 设置时区,避免时间相关函数出错。

    对于MySQL相关配置,需要注意 pdo_mysql.cache_size、mysql.allow_persistent、mysql.max_links 等参数。生产环境建议关闭 mysqlnd.collect_statistics 和 mysqlnd.collect_memory_statistics,减少不必要的数据库访问。

    Session配置也不容忽视。session.sa ve_handler 默认是 files,session.sa ve_path 通常设为 /var/lib/php/session。如果使用Redis存储session,可以修改为:

    session.sa ve_handler = redis
    session.sa ve_path = "tcp://192.168.2.20:6380?auth=china"

    session.gc_probability 和 session.gc_divisor 控制垃圾回收的概率,默认是 1/1000,即每个请求有0.1%的概率启动gc进程。session.gc_maxlifetime 默认为1440秒。

    php-fpm.conf重要参数

    php-fpm.conf 对性能影响很大,值得重点关注:

    pid = run/php-fpm.pid - 建议开启,方便管理进程。
    error_log = log/php-fpm.log - 错误日志位置。
    log_level = notice - 日志级别,生产环境建议设为notice或warning。
    pm = dynamic - 进程管理方式,dynamic根据负载动态调整,static则固定进程数。专用服务器建议用static。
    pm.max_children - 子进程最大数,取决于内存大小。
    pm.start_servers - 启动时的进程数。
    pm.min_spare_servers 和 pm.max_spare_servers - 控制空闲进程数,避免频繁创建和销毁进程。
    pm.max_requests = 1000 - 每个子进程重生之前服务的请求数,对防止内存泄漏很有用。

    另外,request_terminate_timeout 设置单个请求的超时时间,如果经常出现502错误,可以尝试调整这个参数。request_slowlog_timeout 和 slowlog 配合使用,可以记录慢请求的堆栈信息,对性能调优很有帮助。

    扩展MySQL

    MySQLi扩展的安装比较简单。在 php.ini 中配置 extension_dir 指向ext目录,然后启用 extension=mysqli 即可。

    验证是否成功:

    phpinfo();
    var_dump(extension_loaded('mysqli'));
    var_dump(extension_loaded('gettext'));

    如果返回true,说明扩展已经正常加载。

    本文内容来源于网友投稿,如有侵权请联系删除。
    作者最新文章
    编程开发 Windows PHP
    相关文章 更多
    PHP递归性能优化技巧与迭代替代方案
    PHP递归性能优化技巧与迭代替代方案

    解析PHP递归函数在树形数据处理中的性能瓶颈,提供预加载数据消除I/O、使用显式栈替代深层递归的实战方案,帮助开发者在代码可读性与执行效率间做出合理取舍。

    Java测试中怎么使用Mockito模拟依赖对象
    Java测试中怎么使用Mockito模拟依赖对象

    详细讲解在Java单元测试中如何使用Mockito模拟依赖对象,包括引入依赖、创建Mock、打桩返回值、行为验证以及Mock与Spy的核心差异和常见陷阱排查。

    链表删除节点的时间复杂度是多少及其详细分析
    链表删除节点的时间复杂度是多少及其详细分析

    详细分析链表删除节点的时间复杂度,深入探讨单链表与双向链表在不同已知前提下的查找与删除开销,并结合完整代码与清晰图解进行对比总结。

    codex如何配置模型参数及文件设置教程
    codex如何配置模型参数及文件设置教程

    想知道如何让AI写出的代码更贴合你的习惯?本文手把手教你在VS Code中调整Codex相关模型参数,通过修改配置文件优化温度值和令牌限制,解决代码建议不准确或响应慢的问题。

    Claude Code AI编程工具实力揭秘与编程助手实测
    Claude Code AI编程工具实力揭秘与编程助手实测

    通过实测展示Claude Code在终端中如何理解自然语言指令、自动修改代码文件并处理复杂编程任务,帮助开发者评估其实际辅助能力。

    winforms教程自学入门与基础开发步骤详解
    winforms教程自学入门与基础开发步骤详解

    本教程详细讲解如何使用Visual Studio创建WinForms项目,通过添加按钮和标签控件并编写点击事件代码,实现一个基础的计数器功能,适合C#初学者快速上手Windows窗体应用开发。

    Cursor自动补全设置教程教你快速开启代码补全功能
    Cursor自动补全设置教程教你快速开启代码补全功能

    详解Cursor编辑器中自动补全功能的开启与优化设置,涵盖Tab触发机制、上下文窗口调整及模型切换,帮助开发者解决补全延迟、干扰大等问题,提升编码流畅度。

    pandas的数据格式怎么转换和设置方法教程
    pandas的数据格式怎么转换和设置方法教程

    详解Pandas中数据格式转换的核心方法,包括astype强制转换、to_numeric容错处理及日期解析技巧,解决常见类型错误并提升数据处理效率。

    VS Code中文设置方法 简体语言包安装与切换教程
    VS Code中文设置方法 简体语言包安装与切换教程

    详细介绍在Visual Studio Code中安装Chinese (Simplified)语言包的方法,包括通过扩展市场搜索、安装及自动重启切换至简体中文界面的完整步骤,帮助开发者快速将编辑器本地化。

    cursor安装过程无法更改安装位置的解决方法
    cursor安装过程无法更改安装位置的解决方法

    针对Cursor安装包默认锁定C盘且无路径选择界面的问题,提供通过手动移动文件并创建目录联结(Symbolic Link)的解决方案,实现将软件安装在其他磁盘分区。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    macOS软件
    macOS软件

    正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

    Mac软件 更多
    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    灵活计算器
    灵活计算器
    macOS/iOS/Android

    灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

    WINDOWS 更多
    3dmax(3ds max)
    3dmax(3ds max)
    Windows

    Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

    photoshop
    photoshop
    Windows、macOS 、 iPad

    Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

    Blender
    Blender
    Windows、macOS 和 Linux

    Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

    即将离开本站
    您即将前往第三方网站,请确认是否继续?