Views: 232
本文是windows电脑或服务器安装 apache
+php
+mysql
的系列新手教程之一。
认识PHP
PHP(超文本预处理器)是一种开源HTML嵌入式服务器端脚本语言,用于开发动态和交互式 Web 应用程序,也用作通用编程语言。
- PHP由拉斯穆斯·勒多夫于1995年开发,后来作为开源开发。PHP 组现在管理 PHP 的实现。
- PHP 具有许多类似于 C、Java 和 Perl 的语法,并具有许多独特的功能和特定功能。
- PHP 页面是一个具有.php扩展的文件可以包含HTML 标签和 PHP 脚本的组合。
- PHP(超文本前处理器)的PHP递归首字母缩略词:HyperText的意思是,包含各种网络标记的文本,预处理器意味着所有 HyperText 首先处理,然后结果作为纯 HTML 发送到 Web 浏览器。客户端无法看到 PHP 源代码,因为它已预先处理和解释。
- PHP是服务器端脚本语言:服务器端脚本意味着 PHP 代码在 Web 服务器上而不是客户端计算机上处理。
- PHP 支持许多数据库(MySQL和 PHP 组合被广泛使用)。
- PHP 是一种开源脚本语言。
- PHP 可免费下载和使用。
下载php
访问地址
官方网站:https://www.php.net/
访问php官网,当前提供的最新版本为8.1,点击Downlocad,然后点击Windows downlocad(在windows 电脑上安装),如下图所示。
点击后进入版本选择页面,php提供线程安全版和非线程安全版。
- Non Thread Safe:非线程安全版本,部署Fastcgi+iis 环境的下载这个版本。
- Thread Safe:线程安全版本,部署 Apache+php 环境 的下载这个版本。
此处我们下载线程安全版。如下图所示。
安全校验
为确保下载到本地的安装包与官网提供的完全一致,我们需要进行完整性校验。建议下载完成后,和网站上提供的校验信息进行对比,确保一致。如果不一致,请重新下载安装包。
在windows 中,可在cmd命令行窗口/powershell/终端窗口中使用如下命令,进行完整性校验。
CertUtil -hashfile php-8.1.7-Win32-vs16-x64.zip sha256
解释:
- 路径
- 可以直接使用文件的完整路径,也可以先切换到文件所在路径,然后直接使用文件名称。本文采用先切换到文件所在路径,然后使用文件名的方法。
- 校验类型
- 官网提供的校验值类型为sha256,因此在获取本地文件校验信息时,我们也要获取本地文件的sha256值。获取到该信息后,与官网给出的值进行对比,即可知道本地文件与官网文件是否完全一致。
分配目录并解压
为方便后续使用、维护,请提前确认好apache、php、www等目录。为了确保目录兼容、可靠、美观、简洁等,建议使用不间断纯英文路径。本文中PHP的路径为:D:\My_WebSite\System\php-8.1.7-Win32-vs16-x64
。解压好的目录如下图
配置php
配置文件所在路径:D:\My_WebSite\System\php-8.1.7-Win32-vs16-x64
,php提供了两个配置文件模板,php.ini-development
(开发)、php.ini-production
(生产),使用任一配置文件模板都可以,生产环境建议使用php.ini-production
。我们复制php.ini-production
文件,改名为php.ini
,如下图所示:
在对php进行配置前,建议安装一款专业文本编辑工具,以便正确、高效配置和修改。
全局变量
max_execution_time
每个脚本的最大执行时间,以秒为单位。注意:对于 CLI SAPI,此指令被硬编码为 0。请注意,该php值可根据实际业务场景和数据设置,无需照搬。
- 默认:
max_execution_time = 30
- 更改:
max_execution_time = 300
max_input_time
每个脚本可能花在解析请求数据上的最长时间。最好在生产服务器上限制此时间,以消除意外长时间运行的脚本。请注意,该php值可根据实际业务场景和数据设置,无需照搬。
- 默认:
max_input_time = 60
- 更改:
max_input_time = 600
memory_limit
脚本可能消耗的最大内存量
- 默认:
memory_limit = 128M
post_max_size
PHP 接受的 POST 数据的最大值。它的值可能是 0 以禁用限制。如果通过 enable_post_data_reading 禁用 POST 数据读取,则忽略它。请注意,该php值可根据实际业务场景和数据设置,无需照搬。
- 默认:
post_max_size = 8M
- 更改:
post_max_size = 20M
upload_max_filesize
上传文件的最大允许值。请注意,该php值可根据实际业务场景和数据设置,无需照搬。
- 默认:
upload_max_filesize = 2M
- 更改:
upload_max_filesize = 500M
max_file_uploads
通过单个请求可以上传的最大文件数。 请注意,该php值可根据实际业务场景和数据设置,无需照搬。
- 默认:
max_file_uploads = 20
- 更改:
max_file_uploads = 50
default_socket_timeout
基于套接字的流的默认超时(秒)。 请注意,该php值可根据实际业务场景和数据设置,无需照搬。
- 默认:
default_socket_timeout = 60
- 更改:
default_socket_timeout = 300
extension_dir(必须设置)
可加载扩展(模块)所在的目录。
- 默认:
; On windows:
;extension_dir = "ext"
- 更新:
; On windows:
extension_dir = "D:/My_WebSite/System/php-8.1.7-Win32-vs16-x64/ext"
加载的库
下面列出的库,主要与wordpress数据库连接,中文字符串处理,主题插件的更新下载,图片处理有关。建议开启。其他更多的库的信息,参考下一个目录。
- extension=gd ; WordPress 网站生成缩略图、头像等图片,图形报表等需要。
- extension=mbstring ; WordPress 多语言环境下的字符处理,包括中文、日文、韩文等多字节字符的正确显示和处理,字符串转码,截取等需要。
- extension=exif ; WordPress 图库中展示图片时,可以通过读取 Exif 数据显示图像的拍摄时间、相机型号、曝光参数等信息
- extension=curl ; wordpress主题、插件更新时需要。
- extension=mysqli ; 用于实现 WordPress 的数据存储和读取功能
- extension=openssl ; OpenSSL 扩展用于在 PHP 中进行加密、解密、证书操作等安全相关的功能,也会影响网站主题和插件的更新
其他的库信息参考:wordpress 安装环境中的php库简单介绍
接入apache
如果需要apache支持php环境,则需要添加php支持。添加位置:apache配置文件。直接添加方法如下:
添加php8.x
打开apache配置文件httpd.conf
,在配置文件末尾添加下面的代码。
LoadModule php_module "D:/My_WebSite/System/php-8.1.7-Win32-vs16-x64/php8apache2_4.dll"
AddType application/x-httpd-php .php .html .htm
AddType application/x-httpd-php-source .phps
PHPIniDir "D:/My_WebSite/System/php-8.1.7-Win32-vs16-x64"
说明: 上面的apache配置文件,为apache添加php 8.0的支持。 注意: 1.确保php8apache2_4.dll文件存在,路径真实。 2.php8.0以上的,php_module不需要写为php_8module
参考:http://xyx115.com/2022/06/14/windows-install-apache/
重启apache服务
设置完成后,需要让php的配置生效,则需要重启apache服务。以管理员权限运行cmd,并执行下面代码。
net stop apache2.4
net start apache2.4
apache重启完成后,即可看到系统服务的apache中,出现了OpenSSL/1.1.10 PHP/8.1.7
验证
创建一个info.php文件,并保存在localhost根目录(在本教程中,设置的根目录是:D:\My_WebSite\WWW)。文件内容:
<?php
echo phpinfo();
?>
如下图所示,各个功能模块版本,运行状态,参数等都可以查看。