PHP安装配置(Windows和Linux)-一篇就够了

时间:2022-07-25
本文章向大家介绍PHP安装配置(Windows和Linux)-一篇就够了,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

文章目录

  • PHP
    • Windows
      • 1.下载
      • 2.解压缩
      • 3.配置
      • 4.php.ini文件
      • 5.测试配置(此步可跳过)
      • 6.测试PHP代码
    • Linux
      • 1.下载和解压
      • 2.安装
      • 3.php.ini
      • 4.配置Apache
      • 5.启动服务
      • 6.测试

PHP


PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。 原始为Personal Home Page的缩写,已经正式更名为 “PHP: Hypertext Preprocessor”

LAMP/LNMP 系列环境搭建: 学生党白嫖服务器-不会吧不会吧,你还在买学生机吗? Apache安装配置(Windows和Linux)-有手就行 Linux安装配置MySql-你学废了吗? PHP安装配置(Windows和Linux)-一篇就够了 Nginx安装配置(Window和Linux)-包教包会 我知道有集成软件和宝塔什么的,但我想一步步来,知其然知其所以然。 你都不知道我被折磨了好久,有些坑不踩一遍就像没来过一样。

Windows


1.下载

官网下载地址https://windows.php.net/download 选择最新版下载 更多版本如不同VC和Thread Safe左侧导航有介绍。

2.解压缩

文件名可以改简洁点

3.配置

Apache安装配置可参考这里

#加载PHP
LoadModule php7_module 'D:/tools/php7/php7apache2_4.dll'

#将PHP配置文件加载到Apache配置文件中,共同生效
PHPIniDir 'D:/tools/php7'

#配置Apache分配工作给PHP模块,把PHP代码交给PHP处理
#即.php后缀名的文件
AddType application/x-httpd-php .php

4.php.ini文件

上述配置的php.ini文件默认是不存在的,是以development和production格式存在,需要格式化处理。

5.测试配置(此步可跳过)

重启Apache服务,打开cmd,切到 Apache解压目录/bin,输入指令

httpd -M

6.测试PHP代码

<?php
	//测试
	echo 'hello world';
?>

至此就全部好了(~ ̄▽ ̄)~

Linux


1.下载和解压

cd /usr/local/src/ #切换目录
wget http://cn2.php.net/distributions/php-7.4.10.tar.bz2 #下载
wget http://xmlsoft.org/downloads.html/
tar jxvf php-7.4.10.tar.bz2 #解压

2.安装

cd /usr/local/src/php-7.4.10
./configure --prefix=/usr/local/php7 --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php7/etc --with-mysql=/usr/local/mysql --with-pdo-mysql=mysqlnd --with-mysqli --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif --enable-fpm

执行configure时会报Error,说XXX not found等,对应安装即可,直到没错

  • Package ‘libxml-2.0’, required by ‘virtual:world’, not found yum install -y libxml2-devel
  • Package ‘openssl’, required by ‘virtual:world’, not found yum install -y openssl openssl-devel
  • Package ‘sqlite3’, required by ‘virtual:world’, not found yum install sqlite-devel
  • configure: error: Please reinstall the BZip2 distribution yum install -y bzip2 bzip2-devel
  • Package ‘krb5’, required by ‘virtual:world’, not found yum install krb5-devel
  • Package ‘libcurl’, required by ‘virtual:world’, not found yum install libcurl-devel
  • Package ‘libjpeg’, required by ‘virtual:world’, not found yum install libjpeg-devel
  • Package ‘libzip’, required by ‘virtual:world’, not found yum install libzip-devel
  • Package ‘libxslt’, required by ‘virtual:world’, not found yum install libxslt-devel
  • Package ‘freetype2’, required by ‘virtual:world’, not found yum install freetype-devel
  • Package ‘libpng’, required by ‘virtual:world’, not found yum install libpng-devel
  • Package ‘oniguruma’, required by ‘virtual:world’, not found(这个有点麻烦 )
cd /usr/local/src/
wget https://github.com/kkos/oniguruma/archive/v6.9.4.tar.gz -O oniguruma-6.9.4.tar.gz
tar -zxvf oniguruma-6.9.4.tar.gz
yum install autoconf automake libtool #有询问输入y
cd oniguruma-6.9.4/
./autogen.sh && ./configure --prefix=/usr
make && make install

3.php.ini

拷贝格式化php.ini,同Windows

cp php.ini-development php.ini /usr/local/php7/ #拷贝
cp php.ini /usr/local/php7/
/usr/local/php7/bin/php -m #查看PHP加载模块
/usr/local/apache2.4/bin/apachectl -M #查看httpd加载模块

4.配置Apache

vim /usr/local/apache2.4/conf/httpd.conf #编辑配置文件
#修改以下四点
#1.ServerName 195行
ServerName www.example.com:80
#2.Directory 204行
<Directory />
    AllowOverride none
    Require all granted
</Directory>
#3.DirectoryIndex 253行
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
#4.AddType 391行
AddType application/x-httpd-php .php

:wq #保存退出(先按ESC)
/usr/local/apache2.4/bin/apachectl -t #测试配置语法
/usr/local/apache2.4/bin/apachectl graceful #重新加载配置文件

5.启动服务

/usr/local/apache2.4/bin/apachectl start
ps -ef|grep httpd #查看httpd进程
netstat -lntp|grep 80 #查看80端口
curl localhost #测试

6.测试

iptables -I INPUT -p tcp --dport 80 -j ACCEPT #开放80端口或配置服务器安全组
vim /usr/local/apache2.4/htdocs/test.php #编辑测试文件
<?php
	phpinfo();
?>
:wq #保存退出(先按ESC)

按此步骤下来就能成功了。