当前位置: 首页 > 后端技术 > PHP

彪凡互动讲解如何从头搭建PHP原生环境

时间:2023-03-29 15:45:29 PHP

PHP环境是HTTP服务器、PHP和数据库软件的集合,一般可以简称为LAMP,即Linux+Apache+MySQL+PHP。一般来说,对于一般的学习或者小项目,可以直接使用PHPStudy、XAMPP等“AllinOne”环境等集成环境。不过如果需要进行大型项目或者对配置文件DIY要求高,也可以直接按模块安装配置。本文根据Windows10环境在PHP环境下安装原生模块。PHP8.0版本发布,本文编写的配置环境为7.4,只需少量修改即可使用。背景。小编开始使用PHPStudy学习PHP,后来接触了很多集成环境。虽然各有千秋,百家争鸣,但我总觉得综合环境有一种“束缚力”。他们直接从官网下载最新版本使用,从配置文件入手,让人安心。测试环境。Windows1020H2专业版x64(19042.572)英特尔酷睿i5-7300HQCPU@2.50GHz。超级终端(可选)默认安装在D:\PHPEnv\目录中。安装前的注意事项。Windows服务的安装可能需要VC15运行库,可在微软官网按需下载。Apache安装和配置。Apache官网只提供windows版本的源代码,不提供二进制可执行文件。我们可以去ApacheHaus下载二进制文件进行安装。将Apache24目录解压到D:\PHPEnv,环境根目录任意指定。需要注意的是,目录路径中不能有中文。Apache配置文件(Apache24/conf/httpd.conf)由于Apache配置文件过长,详细调优方法请参考其他文章。这里显示了一个简化的配置文件(这里只显示了主要部分)。#Apache24.conf文件#常规设置DefineSRVROOT"D:/PHPEnv/Apache24"#定义Apache根目录ServerRoot"${SRVROOT}"ServerNamelocalhost#服务名称DefineENABLE_TLS13"Yes"Listen80#监听80端口,如果是占用8080端口可以使用#PHP74Config#PHP8.0修改为php8apache2_4.dllLoadModulephp_module"D:/PHPEnv/PHP74/php7apache2_4.dll"#定义PHP7模块路径AddTypeApplication/x-httpd-php.php#添加PHP格式PHPIniDir"D:/PHPEnv/PHP74"#定义PHP根目录#具体配置含义参考其他文章AllowOverrideallOptionsIndexesFollowSymLinksRequireallgranted#定义网站根目录AllowOverrideallOptionsIndexesFollowSymLinksRequireallgrantedDirectoryIndexindex.htmlindex.phpindex.htmRequireallgranted#虚拟主机includeconf/extra/httpd-vhosts.conf#启用虚拟主机file虚拟主机配置文件(Apache24/extra/httpd-vhosts.conf)为了方便,将网站的根目录映射到一个虚拟主机,允许一台服务器运行多个网站。ServerAdminlocalhostDocumentRoot"H:/WWW"ServerNamelocalhostOptionsIndexesFollowSymLinksIncludesExecCGIPHP安装配置由于Apache安装配置下载PHPPHP提前,去windows.php.net下载最新版本。最近发布了PHP8.0,在撰写本文时尚未发布,因此仅涵盖7.4版。ThreadSafe和NonThreadSafe的区别参考原文:TS指的是multithreadcapablebuilds。NTS指的是单线程构建。TS二进制文件的用例涉及与作为模块加载到Web服务器中的多线程SAPI和PHP的交互。对于NTS二进制文件,广泛的用例是通过FastCGI协议与Web服务器交互,不使用多线程(但也包括CLI)。大致意思是TS版本作为模块(module)加载到web服务器(Apache),NTS版本通过FastCGI协议加载,与web服务器建立联系。前者多用于Apache,后者多用于Nginx。本文使用ThreadSafe版本以模块的形式使用PHP(上图中的VC15x64ThreadSafe)。将压缩包中的所有文件解压到D:\PHPEnv\PHP74,路径要和httpd.conf配置一致。配置php.ini在PHP根目录(PHP74)新建php.ini,或者复制php.ini-development重命名为php.ini,右键选择编辑进入配置文件。另外由于篇幅限制,只展示了部分主要配置。[PHP]engine=On#启动引擎short_open_tag=Off#关闭短标签max_input_time=60memory_limit=128Merror_reporting=E_ALL#错误报告打开所有提示post_max_size=2048M#POST最大文件大小default_mimetype="text/html"default_charset="UTF-8"#默认文件编码extension_dir="./"extension_dir="D:/PHPEnv/PHP74/ext"#PHP插件路径enable_dl=Offupload_max_filesize=2048M#最大上传文件大小max_file_uploads=20extension=curlextension=fileinfoextension=gd2extension=mbstringextension=mysqliextension=pdo_mysqlextension=sockets[Date]date.timezone=Asia/Shanghai#默认时区设置(中国上海)[邮件功能]SMTP=localhostsmtp_port=25mail.add_x_header=Off[mbstring]mbstring.language=Chinese#CheckwordcountLanguage(中文)检查配置管理员身份打开超级终端或命令提示符(任何终端都可以),cd命令跳转到Apache24\bin,Windows跳转到盘符commandD:(D为目标盘符,其他格式为C:E:,参考机器配置)。检查Apache配置httpd-t,如果显示SyntaxOK,说明配置正确。安装Apache服务启动httpd-kinstall-nApache24安装,-n后面是服务名(可以自己定义),不填的话默认是Apache2.4netstartApache24启动服务。至此,Apache和PHP已经安装完毕,在网站根目录(H:\WWW)新建phpinfo.php,输入保存,进入浏览器输入localhost\phpinfo.php查看效果。MySQL安装和下载最新版MySQL到MySQL官网下载MySQL。官网提供了两种安装方式:installerMySQLInstallerforWindows.msiarchive压缩包Windows(x86,64-bit),ZIPArchive在本文中选择压缩包安装,选择右侧的download按钮进行下载和创建一个新的My.ini配置文件。与Apache和PHP的炒作配置文件相比,MySQL文件相对简洁。[mysqld]port=3306#portbasedir=D:\PHPEnv\MySQL80#根目录datadir=D:\PHPEnv\MySQL80\Data#数据库目录max_connections=200#最大连接数max_connect_errors=10character-set-server=utf8mb4#字符编码,mb4支持emojidefault-storage-engine=INNODB#数据库引擎default_authentication_plugin=mysql_native_password[mysql]default-character-set=utf8mb4#数据库字符集[client]port=3306default-character-set=utf8mb4保存到MySQL根目录下,将本文保存到PHPEnv\MySQL80,新建一个空的Data文件夹。安装MySQL服务并启动它。在终端或命令提示符(管理员模式)下进入MySQL80下的bin目录,cdMySQL80\bin,输入mysqld--initialize--console初始化安装,得到初始密码。为root@localhsot生成一个临时密码:去掉空格,就是初始密码,需要记住。继续输入mysqld--installMySQL80安装服务,提示Servicesuccessfullyinstalled表示安装成功。输入netstartMySQL80启动数据库服务。输入mysql-uroot-p进入MySQLCLI,回车提示输入初始密码,设置密码。输入ALTERUSER'root'@'localhost'IDENTIFIEDBY'password';自己写密码,提示QueryOK,0rowsaffected(0.10sec)表示修改完成。进入退出;退出并再次进入以使用新密码。至此,所有的配置都已经完成,可以使用了。一般注意一些问题以管理员身份运行打开终端,提前安装好VC15就没有问题了。文章编辑:标趣互动(https://www.biaofun.com/)