Mac 系统下配置 PHP 运行环境

本贴最后更新于 2402 天前,其中的信息可能已经事过境迁

Mac 系统下配置 PHP 运行环境
原文链接:http://oxy.pub

===============

May 10, 2018|PHP|24Hits

概述

Mac 系统对于 PHP 运行非常友好,我们只需要进行简单的配置便可以开始进行使用,本篇文章将一步一步地介绍 Apache、PHP 和 MySQL 的安装与配置,为开始进行开发铺好路

操作系统:Mac OS 数据库:mysql8.0.11 PHP7.1.14

Apache

启动 Apache 服务

在 Mac 系统中已经安装好了 Apache 服务,我们只需要通过如下方式启动即可直接使用

在终端中输入如下命令,启动 Apache 服务
1
sudo apachectl start

注: 因为 sudo 是系统管理指令,所以需要输入电脑密码(输入字符时不会显示,输入完成敲击回车即可)

在终端中输入如下命令,查看 Apache 服务版本
1
sudo apachectl -v

在本机中版本信息如下

1
2
Server version: Apache/2.4.29 (Unix)
Server built: Jan 17 2018 18:20:31
在浏览器中输入如下网址,检查 Apache 服务是否启动成功
1
2
http://localhost
http://127.0.0.1

如果 Apache 服务启动成功,页面会显示 It works!

Apache 的其他配置

关闭 Apache 服务

在终端中输入如下命令,关闭 Apache 服务

1
sudo apachectl stop
重启 Apache 服务

在终端中输入如下命令,重启 Apache 服务

1
sudo apachectl restart
Apache 服务安装路径

Apache 服务默认安装路径在**/private/etc/apache2**,属于系统私有目录,我们不可直接在 Finder 中找到该路径

我们可以通过两种方式进入该路径

  1. 在终端中输入 open /etc 命令进入 etc 文件夹
  2. 在 Finder -> 前往 -> 前往文件夹中输入/etc 即可进入 etc 文件夹
Apache 服务部署路径

Apache 服务部署路径在**/资源库/WebServer/Documents/**,我们的项目需要放置在该路径下

如果想要修改部署路径,可以在**/private/etc/apache2 目录下找到并打开 httpd.conf 文件,搜索 DocumentRoot**并修改部署路径

注 1: 笔者使用 TextMate 文本编辑软件,且该软件可以直接打开该配置文件

注 2: 如果提示文本锁定不允许修改,可以将该文件复制到其他文件夹修改之后,在粘贴回来覆盖原文件即可

  1. 将默认的项目路径由 /Library/WebServer/Documents/ 都替换成自己的路径,比如 /Users/zhouen/PHPServer 并将原路径下 index.html.en 文件拷贝到新路径下

  2. 修改路径重启 apache 后 http://localhost,报 403Forbidden,You don’t have permission to access/on this server ,解决方案:

    将 AllowOverride None 改为 AllowOverride All

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
DocumentRoot "/Users/zhouen/PHPServer"
<Directory "/Users/zhouen/PHPServe">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options
# for more information.
#
Options FollowSymLinks Multiviews
MultiviewsMatch Any

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# AllowOverride FileInfo AuthConfig Limit
#
#AllowOverride None
AllowOverride All

#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
Apache 服务端口号

Apache 服务端口号默认为 80,如果想要修改端口号,可以在**/private/etc/apache2 目录下找到并打开 httpd.conf 文件,搜索 Listen 80**并修改端口号

PHP

PHP 的启动只需要在 Apache 服务中进行一下配置即可直接使用

首先,在**/private/etc/apache2**目录下找到并打开 httpd.conf 文件

其次,搜索**#LoadModule php7_module libexec/apache2/libphp7.so**,将前方的**#**删除

/如果因为权限问题不能修改的话,把它拖到桌面修改,然后把原先的删除,之后再把桌面的拖到里面去就 ok*///

再次,重启 Apache 服务即可

最后,我们在路径下新建一个 info.php 测试程序试试效果吧

1
2
3
<?php 
phpinfo();
?>

在浏览器中输入如下网址即可查看到 PHP 的信息

1
http://localhost/info.php

MySQL

安装 MySQL

首先,在浏览器中输入如下网址,下载图中所示文件并安装

1
http://dev.mysql.com/downloads/mysql/

安装完成,在终端中输入如下命令,查看 MySQL 版本

1
mysql --version

在本机中版本信息如下

1
mysql  Ver 8.0.11 for macos10.13 on x86_64 (MySQL Community Server - GPL)

如果提示 command not found,这是因为该命令默认访问**/usr/local/bin/mysql 路径下的 mysql**,所以我们可以在终端输入如下命令,建立一个软链接即可

1
sudo ln -fs /usr/local/mysql/bin/mysql /usr/local/bin/mysql

再次,利用安装 MySQL 时给出的用户和密码登录 MySQL 服务,在终端中输入如下命令,敲击回车后输入密码

1
mysql -u root -p

再次,在终端中输入如下命令,退出 MySQL 服务

1
exit

如需修改密码,在终端中输入如下命令

1
/usr/local/mysql/bin/mysqladmin -u USER -p password PASSWORD

注: USER 为用户名,默认为 root;PASSWORD 为新密码,回车后输入原密码即可

MySQL 的启动与停止

在命令行输入如下指令,启动与停止 MySQL 服务
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
在系统偏好设置中启动与停止 MySQL 服务

在系统偏好设置中有一个 MySQL 选项,我们可以在这里手动启动与停止 MySQL 服务

MySQL 可视化管理方式 phpMyAdmin

首先,在浏览器中输入如下网址,下载图中所示文件

1
https://www.phpmyadmin.net/downloads/

其次,将压缩文件解压到**/资源库/WebServer/Documents/**路径下(如果修改过路径放入修改后的路径 中),并重命名为 phpMyAdmin

再次,将文件夹中的 config.sample.inc.php 文件重命名为 config.inc.php

再次,将 config.inc.php 文件中的如下代码进行修改

// 修改前:
$cfg['Servers'][$i]['host'] = 'localhost';

// 修改后:
$cfg['Servers'][$i]['host'] = '127.0.0.1';

最后,在浏览器中输入如下网址进行登录即可直接对 MySQL 进行可视化管理

1
http://localhost/phpmyadmin/

注: 默认用户名为 root

最终登录成功界面如下:


PHP 时间配置

以下为系统自带 PHP 时间的配置

->finder 右键前往文件夹 /private/etc/ 找到 php.ini.default 文件拷贝并重命名为 php.ini 打开修改如下

#1. 如果使用自己安装的PHP需要在apache的配置文件(httpd.conf)中指定php.ini的路径
PHPIniDir "/User/xxx/xxx/xx/php"

#2. 修改php.ini里面原先
;date.timezone

#修改后
date.timezone = PRC

重启 Apache 之后时间即为正确时间

###配置 PHP 以执行 mysql 函数

本文 mysql7.2

php 作为一门语言,其中也有很多个“模块”,mysql 只是其中一个!!!

我们首先得配置 mysql 模块使之生效,做法如下:

  1. mac 系统自带 PHP
#在 /etc 下拷贝php.ini.default 并重命名为 php.ini

以下两项操作小编都没有操作测试 mysqli_connect 方法链接数据库成功

  1. 在 php.ini 文件中,指定 mysql 模块的位置(实际上,php 中的模块,都放在该一个位置):

  1. 在 php.ini 文件中,“打开”想要的模块(我们现在需要 mysql 模块 extension=php_pdo_mysql.dll):(本人 mac 下没有打开也可以链接 mysql 成功)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#测试
<?php
echo date('y-m-d h:i:s');

$host = "127.0.0.1";
$user = "root";
$pass = "11111111";
$link=mysqli_connect($host,$user,$pass) or die(mysql_error());
if (!$link) {
printf("Can't connect to MySQL Server. Errorcode: %s ", mysqli_connect_error());
} else{
echo "sucess";
}
?>

Apache 多站点配置

  1. 在 apache 的主配置文件(conf/httpd.conf)中,“打开”虚拟主机配置文件——其实就是引入

    1
    2
    3
    4
    5
    6
    7
    #终端命令打开httpd.conf
    open /etc/apache2/httpd.conf

    #找到如下配置去掉 Include前#
    # Virtual hosts
    Include /private/etc/apache2/extra/httpd-vhosts.conf
    open /etc/apache2/extra/httpd-vhosts.conf
  2. 打开该虚拟主机配置文件(/etc/apache2/extra/httpd-vhosts.conf),并“一个一个站点配置”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#打开该虚拟主机配置文件
open /etc/apache2/extra/httpd-vhosts.conf

#站点配置如下
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Users/zhouen/PHPServer"
<Directory "/Users/zhouen/PHPServer">
Options FollowSymLinks Multiviews
MultiviewsMatch Any
AllowOverride All
Require all granted

#单独配置主页面
DirectoryIndex index.php index.html
</Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName oxyxx.com
DocumentRoot "/Users/zhouen/PHPServer2"
<Directory "/Users/zhouen/PHPServer2">
Options FollowSymLinks Multiviews
MultiviewsMatch Any
AllowOverride All
Require all granted

#单独配置主页面
DirectoryIndex index.php index.html
</Directory>
</VirtualHost>
打赏 5 积分后可见
5 积分
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    179 引用 • 407 回帖 • 490 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    166 引用 • 595 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...