Mac/Ubuntu上的php环境配置

1 Mac上自带PHP和Apache环境

1.1 查看版本

我们通过如下两个命令来分别查看phpapache的版本:
PHP:

$ php -v
PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( NTS )
Copyright (c) 1997-2018 The PHP Group

Apache:

$ apachectl -v
Server version: Apache/2.4.34 (Unix)
Server built:   Feb 22 2019 20:20:11

1.2 访问Apache服务

由于Mac自带了Apache服务,那我们在浏览器中输入localhost不访问该服务,可以看到无法访问。此时我们需要启动Apache服务:

$ apachectl start

服务启动后,再在浏览器中访问时,可以看到It works,说明服务启动成功!

1.3 Apache服务目录

Apache服务目录默认是/Library/WebServer/Documents,我们查看目录中的文件:

$ pwd
/Library/WebServer/Documents
$ ls -al
total 80
drwxr-xr-x  7 root  wheel    224  7 14 16:17 .
drwxr-xr-x  5 root  wheel    160  8 18  2018 ..
-rw-r--r--  1 root  wheel   3726  8 18  2018 PoweredByMacOSX.gif
-rw-r--r--  1 root  wheel  31958  8 18  2018 PoweredByMacOSXLarge.gif
-rw-r--r--  1 root  wheel     45  6 12  2007 index.html.en
-rw-r--r--  1 root  wheel     45  6 12  2007 index.html.en~orig

其中的index.html.en就是我们在浏览器中访问是看到的It workds的页面。

1.4 Apache配置文件目录

Apache配置文件目录在/etc/apache2目录:

$ pwd
/etc/apache2
$ ls -al
total 176
drwxr-xr-x   11 root  wheel    352  7 14 16:16 .
drwxr-xr-x  117 root  wheel   3744  7 13 22:44 ..
drwxr-xr-x   25 root  wheel    800  3 17 00:18 extra
-rw-r--r--    1 root  wheel  21149  7 14 16:16 httpd.conf
-rw-r--r--    1 root  wheel  21150  4  4  2018 httpd.conf.pre-update
-rw-r--r--    1 root  wheel  21150  3 16 22:08 httpd.conf~previous
-rw-r--r--    1 root  wheel  13077  8 18  2018 magic
-rw-r--r--    1 root  wheel  61118  8 18  2018 mime.types
drwxr-xr-x    4 root  wheel    128  8 18  2018 original
drwxr-xr-x    3 root  wheel     96  8 18  2018 other
drwxr-xr-x    3 root  wheel     96  3 17 00:17 users

我们查看httpd.conf文件,也可以看到配置的访问目录:

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

1.5 配置Apache解析php

我们在/Library/WebServer/Documents下新建一个文件index.php1:

<?php
echo "hello php";

然后在浏览器中输入localhost/index.php,我们发现代码被原样输出并没有得到我们想要的结果,此时我们要在Apache配置文件中配置加载php模块,我们打开配置httpd.conf,并查找有关php的信息,可以看到# LoadModule php7_module libexec/apache2/libphp7.so类似这样的信息(php版本可能和我的不一样),我们打开注释(删除前面的#号),修改后保存并重启apache:

sudo apachectl restart

重启后我们再在浏览器中输入localhost/index.php并访问,我们可以看上去浏览器输出了hello php了,至此,mac上配置Apache和PHP就完成了!

1.6 优化使服务目录自定义

新建一个自定义的目录,如下这是我自定义的目录:

$ pwd
/Users/xf/phpenv/www

并在该目录下新建一个index.php文件:

<?php
	echo "hello php";

修改Apache配置,使用服务目录指向当前新建的目录,主要是修改httpd.conf下的下面两处内容:

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

修改为:

DocumentRoot "/Users/xf/phpenv/www"
<Directory "/Users/xf/phpenv/www">

然后重启apache服务:

sudo apachectl restart

然后在浏览器中访问localhost出现hello php就说明配置成功了!

2 Ubuntu上配置PHP和Apache环境

2.1 安装php和php-cli

安装php-fpm

$ sudo apt-get install php-fpm

安装php-cli

$ sudo apt-get install php-cli

检查php是否安装成功

$ php -v

卸载php-php-cli:

sudo apt-get remove php-fpm php-cli

卸载安装php时的依赖:

sudo apt-get autoremove 

2.2 安装apache

  • 安装apche:
$ sudo apt-get install apache2

启动apache:

$ sudo systemctl start apache2

在浏览器中输入localhost访问,访问目录是/var/www/html

  • 卸载apache:
$ sudo apt-get remove apache2

卸载安装apache2时自动安装的其他依赖:

sudo apt-get autoremove

删除apache2配置文件:

sudo apt-get purge apache2

2.3 配置使用apache支持php

/etc/www/thml/中新建一个test.php文件,并输入以下内容:

<?php
echo 'hello php';

在浏览器中访问localhost/test.php,可以看到代码被原样输出。
安装模块让apache支持php:

sudo apt-get install libapache2-mod-php

配置好后再访问!

2.4 在安装过程中遇到了问题

$ sudo apt-get install libapache2-mod-php7.2 -y
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
建议安装:
  php-pear
下列【新】软件包将被安装:
  libapache2-mod-php7.2
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 63 个软件包未被升级。
需要下载 0 B/1,388 kB 的归档。
解压缩后会消耗 4,900 kB 的额外空间。
正在选中未选择的软件包 libapache2-mod-php7.2。
(正在读取数据库 ... 系统当前共安装有 193101 个文件和目录。)
准备解压 .../libapache2-mod-php7.2_7.2.19-0ubuntu0.19.04.1_amd64.deb  ...
正在解压 libapache2-mod-php7.2 (7.2.19-0ubuntu0.19.04.1) ...
正在设置 libapache2-mod-php7.2 (7.2.19-0ubuntu0.19.04.1) ...
dpkg: 处理软件包 libapache2-mod-php7.2 (--configure)时出错:
 已安装 libapache2-mod-php7.2 软件包 post-installation 脚本 子进程返回错误状态 1
在处理时有错误发生:
 libapache2-mod-php7.2
E: Sub-process /usr/bin/dpkg returned an error code (1)

执行如下操作:

sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old 
 sudo mkdir /var/lib/dpkg/info
 sudo apt-get update
 sudo apt-get -f install 
 sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old 
 sudo rm -rf /var/lib/dpkg/info

3 修改MySQL8.0配置

通过PHP连接到MySQL8.0会连不上,错误信息大致是The server requested authentication method unknown to the client,我们通过如下方式来修改MySQL的配置:

# 连接到MySQL
$ mysql -uroot -p
Enter password: 

# ......

# 修改认证方式
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.00 sec)

此时再通过PHP程序连接MySQL就不会报错了!

发布了78 篇原创文章 · 获赞 58 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq122516902/article/details/95895245