继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

php 学习笔记之搭建开发环境(mac版)

雪之梦技术驿站
关注TA
已关注
手记 91
粉丝 3907
获赞 222

Mac 系统默认集成了很多开发工具,其中就包括 php 所需要的一些软件工具.

下面我们将搭建最简单的 php 开发环境,每一步都会验证上一步的操作结构,请一步一步跟我一起搭建吧!

web 服务器之 apache

apache 是一款 web 服务器,用于运行 php 文件,除了 apache 外也可以是 nginx 服务器.

默认情况下 mac 已经预装了 apach 服务,自然不用 nginx 服务器了.

现在什么也没有配置的情况下,直接启动 apache 服务器看一下能否正常运行.

$ sudo apachectl start

php-setup-environment-mac-apache-start.png

常用命令

  • 查看 apache 版本

语法: apachectl -v

示例:

$ apachectl -v
Server version: Apache/2.4.34 (Unix)
Server built:   Feb 22 2019 19:30:04
  • 启动 apache 服务

语法: sudo apachectl start

示例:

$ sudo apachectl start
Password:
  • 停止 apache 服务

语法: sudo apachectl stop

示例:

$ sudo apachectl stop
  • 重启 apache 服务

语法: sudo apachectl restart

示例:

$ sudo apachectl restart

安装路径

apache 默认安装于 /private/etc/apache2 目录,属于系统隐藏目录,可以在终端中直接进入也可以在访达中直接前往文件夹.

示例:

$ tree /private/etc/apache2
/private/etc/apache2
├── extra
│   ├── httpd-autoindex.conf
│   ├── httpd-autoindex.conf~previous
│   ├── httpd-dav.conf
│   ├── httpd-dav.conf~previous
│   ├── httpd-default.conf
├── httpd.conf
├── httpd.conf.pre-update
├── httpd.conf~previous
├── magic
├── mime.types
├── original
│   ├── extra
│   │   ├── httpd-autoindex.conf
│   │   ├── httpd-dav.conf
│   │   ├── httpd-default.conf
│   │   ├── httpd-vhosts.conf
│   │   └── proxy-html.conf
│   └── httpd.conf
├── other
│   └── php7.conf
└── users
    └── Guest.conf

5 directories, 43 files

如果想要修改项目部署路径以及服务器端口等自定义配置,可打开 /private/etc/apache2/httpd.conf 文件进行编辑,如果权限不足,要么提升权限要么复制到别处修改好再替换掉原来的配置文件.

配置文件一旦修改,请一定要重启服务器,不然并不会生效!

vim 搜索文件内容时临时高亮设置: :set hlsearch ,取消高亮设置: :set nohlsearch .

  • 修改项目部署路径

DocumentRoot : 默认部署路径于 /Library/WebServer/Documents

终端输入 vim 命令查找并编辑目标节点.

$ vim /private/etc/apache2/httpd.conf

输入 vim /private/etc/apache2/httpd.conf 进入命令行模式,输入 :/DocumentRoot 从头搜索文件内容,紧接着输入 n 表示查找下一项匹配字符,N 表示查找上一项匹配内容.

php-setup-environment-mac-apache-DocumentRoot.png

如果不熟悉 vim 语法也可以选择熟悉的编辑器打开 httpd.conf 配置文件进行修改配置.

  • 修改项目部署端口

Listen : 默认监听端口 80

如果端口冲突的话,可以修改成其他端口,80 端口的好处在于可以直接访问服务器地址而不用显示带上端口号.

# 等价于 http://localhost:80
http://localhost 

# 等价于 http://127.0.0.1:80
http://127.0.0.1

php-setup-environment-mac-apache-listen-port.png

部署路径

默认情况下,apache 的部署路径位于 /Library/WebServer/Documents ,除非你更改了 httpd.conf#DocumentRoot 的节点配置.

$ tree /Library/WebServer/Documents
/Library/WebServer/Documents
├── PoweredByMacOSX.gif
├── PoweredByMacOSXLarge.gif
├── index.html.en
└── index.html.en~orig

0 directories, 4 files

当然你可以通过访达直接前往 /Library/WebServer/Documents 目录或者 open /Library/WebServer/Documents 直接调用内置程序打开目录.

php-setup-environment-mac-apache-Documents.png

如果非要一步一步找到部署路径,打开 访达 后选择左侧最下方的本地光盘(个人用户名称),然后依次选择 Machintosh HD > 资源库 (Library) > WebServer > Documents

世界上最好的语言之 php

php 在行业内赢得"世界上最好的语言"称号,自嘲为"拍簧片".不管怎样,既然我们决定 pai(拍)huang(簧)pian(片) ,那总要配置一下 php 的基本环境吧!

Mac 系统一如既往内置了 php 环境,不用我们费心去安装 php 了,现在看一下 php 的基本信息吧!

$ php -version
PHP 7.1.23 (cli) (built: Feb 22 2019 22:08:13) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

php 是一种服务端脚本解释性语言,依赖于 web 服务器进行解析,所以 php 想要正常工作离不开上一步配置的 apache 服务器.

还记得 apache 配置文件的位置吗?

apache 配置文件路径 : /private/etc/apache2/httpd.conf

php-setup-environment-mac-apache-integration-php.png

打开 httpd.conf 配置文件并搜索 LoadModule php 字符串,将前面的 # 去掉即可引入 php 支持,配置文件修改后记得重启才能生效哟!

是时候展示真正的技术了,现在万事俱备只待测试 php 到底有没有配置成功?!

在项目部署根目录下新建 info.php 测试文件,启动服务器后访问
http://localhost/info.php
如果能正常打印出 php 相关信息,那就证明 phpapache 整合无误,否则可能是某一步配置有误!

<?php
phpinfo();
?>

php-setup-environment-mac-apache-php-start.png

持久化存储之 mysql

Mac 系统并没有默认安装 mysql 服务,因此我们需要手动安装 mysql .

一般来说,我们谈到 mysql 数据库指的是 mysql 的服务端,作为生产环境服务端足够了并不需要客户端.

但是,日常开发中如果没有客户端我们很难直观管理数据,所以一般来说,我们还会安装 mysql 客户端,当然一般是各种功能强大的图形化工具.

mysql 服务端

php-setup-environment-mac-mysql-server-download.png

和正常的软件安装一样,将安装文件移动到应用里即可完成,比 Windows 的下一步下一步安装还要方便快捷!

安装完成后,可以在系统偏好设置中找到 MySQL 图标,查看管理 mysql 服务端.

php-setup-environment-mac-mysql-server-icon.png

点击 MySQL 图标,可以进行简单的设置以及重启服务等操作.

php-setup-environment-mac-mysql-server-running.png

但是如果想要在终端中无痛连接上 mysql 服务端,那么还需要一步设置软链接,类似于 Windows 的快捷方式.

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

现在我们就可以在终端内愉快的连接上 mysql 服务端了呢!

# 登录 `mysql` 服务端
$ mysql -u root -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 查看当前数据库列表
mysql> show databases;
+---------------------+
| Database            |
+---------------------+
| information_schema  |
| mysql               |
| performance_schema  |
| security-plus       |
| sys                 |
| test                |
+---------------------+
6 rows in set (0.00 sec)

# 退出当前数据库会话
mysql> exit
Bye
$ 
  • 查看 mysql 服务端版本

语法: mysql --version

示例:

$ mysql --version
mysql  Ver 14.14 Distrib 5.7.24, for macos10.14 (x86_64) using  EditLine wrapper
  • 查看 mysql 服务端状态

语法: sudo /usr/local/mysql/support-files/mysql.server status

示例:

$ sudo /usr/local/mysql/support-files/mysql.server status
 SUCCESS! MySQL running (73088)
  • 启动 mysql 服务端

语法: sudo /usr/local/mysql/support-files/mysql.server start

示例:

$ sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
. SUCCESS! 
  • 停止 mysql 服务端

语法: sudo /usr/local/mysql/support-files/mysql.server stop

示例:

$ sudo /usr/local/mysql/support-files/mysql.server stop
Shutting down MySQL
.. SUCCESS! 
  • 重启 mysql 服务端

语法: sudo /usr/local/mysql/support-files/mysql.server restart

示例:

$ sudo /usr/local/mysql/support-files/mysql.server restart
Shutting down MySQL
. SUCCESS! 
Starting MySQL
. SUCCESS! 

mysql 客户端

如果说生产环境没有 mysql 的图形化工具也就罢了,但是如果日常开发时也不没有图形化工具的话,那就真的太不方便了.

这里推荐两个客户端工具,一个是人畜无害的 Sequel Pro,另一个则是 php 专属的 phpMyAdmin.

  • BS 架构的 phpMyAdmin

下载地址 : phpMyAdmin

phpMyAdmin 是一款 web 版数据款管理软件,可以在浏览器中在线访问,像访问你的网站一样访问数据库.

php-setup-environment-mac-mysql-client-phpMyAdmin.png

下载完成后解压并重命名为 phpMyAdmin,然后移动到 apache 的项目部署路径下,如果没有更改过默认的部署路径,那么应该是 /Library/WebServer/Documents 目录.

现在部署路径下不仅有个 info.php 文件还有 phpMyAdmin 文件夹.

# 仅仅显示两级文件目录
$ tree -L 2
.
├── PoweredByMacOSX.gif
├── PoweredByMacOSXLarge.gif
├── index.html.en
├── index.html.en~orig
├── info.php
└── phpMyAdmin
    ├── CODE_OF_CONDUCT.md
    ├── CONTRIBUTING.md
    ├── export.php
    ├── favicon.ico
    ├── gis_data_editor.php
    ├── import.php
    ├── import_status.php
    ├── index.php
    ├── view_operations.php
    └── yarn.lock

11 directories, 108 files

移动完成后先复制一份 config.sample.inc.php 文件并重命名为 config.inc.php 文件.

执行 vim /Library/WebServer/Documents/phpMyAdmin/config.inc.php 搜索并编辑 host 节点内容,将 localhost 更改成 127.0.0.1 .

示例:

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

# 修改后: 将 `localhost` 更改成 `127.0.0.1`
$cfg['Servers'][$i]['host'] = '127.0.0.1';

php-setup-environment-mac-mysql-client-phpMyAdmin-config.png

重启 apache 服务,访问 http://localhost/phpMyAdmin/ 开始登陆数据库吧!

php-setup-environment-mac-mysql-client-phpMyAdmin-login.png

输入 mysql 的用户名和密码登录成功后就能管理本地数据库了.

php-setup-environment-mac-mysql-client-phpMyAdmin-database.png

  • CS 架构的 Sequel Pro

Sequel Pro 是简单易用的数据库管理工具,与上述的 phpMyAdmin 不同之处在于并不依赖 php 环境,可以独立安装部署.

php-setup-environment-mac-mysql-client-SequelPro.png

安装完成后输入数据库连接信息连接到本地数据库,参考信息如下.

php-setup-environment-mac-mysql-client-SequelPro-config.png

点击连接(Connect) 连接到本地服务器,由于刚才并没有选择数据库,因此登陆后需要选定数据库,这里根据实际情况选择即可.

php-setup-environment-mac-mysql-client-SequelPro-database.png

php 集成 mysql

如果没有数据库提供持久化存储能力,那么 php 只能临时运行而没有记忆功能,所以想要记住网站大量信息自然离不开数据库.

准备数据

为了接下来演示 php 集成 mysql 数据库,现在先创建一个测试数据库并插入一些测试数据.

下面主要是通过终端方式进行操作,小伙伴们也可以使用上述安装的图形化工具进行可视化编辑.

  • 连接到本地服务器

语法 : mysql -u <username> -p

示例:

# 连接到本地数据库,用户名 `root`,密码自定义
$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 109
Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  • 列出当前数据库列表

语法 : show databases

示例:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| security-plus      |
| sys                |
+--------------------+
5 rows in set (0.00 sec)
  • 创建测试数据库

语法 : create database <databaseName>

示例:

# 创建 `test` 数据库并指定编码格式为 `utf8`
mysql> create database IF NOT EXISTS test default charset utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

# 再次查询当前数据库列表,新增 `test` 数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| security-plus      |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)
  • 列出当前数据表列表

语法 : show tables

示例:

# 使用 `test` 测试数据库
mysql> use test;
Database changed

# 列出当前全部数据表
mysql> show tables;
Empty set (0.00 sec)
  • 创建测试数据表

语法 : create tabel <tableName> (<fieldName> <type>))

# 创建 `user` 用户表
mysql> CREATE TABLE `test`.`user` (
       `id` BIGINT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户 id',
       `name` VARCHAR(45) NOT NULL DEFAULT '' COMMENT '姓名',
       PRIMARY KEY (`id`),
       UNIQUE INDEX `id_UNIQUE` (`id` ASC))
     ENGINE = InnoDB
     DEFAULT CHARACTER SET = utf8
     COMMENT = '用户表';
Query OK, 0 rows affected (0.01 sec)

# 再次列出当前数据表列表
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| user           |
+----------------+
1 row in set (0.00 sec)
  • 查看数据表结构

语法 : desc <tableName>

示例:

mysql> desc user;
+-------+---------------------+------+-----+---------+----------------+
| Field | Type                | Null | Key | Default | Extra          |
+-------+---------------------+------+-----+---------+----------------+
| id    | bigint(11) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(45)         | NO   |     |         |                |
+-------+---------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
  • 查看数据表创建语句

语法 : show create table <tableName>

示例:

mysql> show create table user \G
*************************** 1. row ***************************
       Table: user
Create Table: CREATE TABLE `user` (
  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户 id',
  `name` varchar(45) NOT NULL DEFAULT '' COMMENT '姓名',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表'
1 row in set (0.00 sec)
  • 查询数据

语法 : select [fields] from tableName [where condition] [limit N][ offset M]

示例:

mysql> select id,name from user;
Empty set (0.00 sec)
  • 插入数据

语法 : insert into <tableName> ([fields]) VALUES ([values])

示例:

mysql> INSERT INTO `test`.`user` (`name`) VALUES ('snowdreams1006');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `test`.`user` (`name`) VALUES ('雪之梦技术驿站');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO `test`.`user` (`name`) VALUES ('测试用户姓名');
Query OK, 1 row affected (0.00 sec)

mysql> select id,name from user;
+----+-----------------------+
| id | name                  |
+----+-----------------------+
|  1 | snowdreams1006        |
|  2 | 雪之梦技术驿站        |
|  3 | 测试用户姓名          |
+----+-----------------------+
3 rows in set (0.00 sec)
  • 退出数据库

语法 : exit

示例:

mysql> exit
Bye
$ 
  • 导出数据

语法 : mysqldump -u <username> -p <databaseName> > exportName.sql

备份数据用到的是 mysqldump 工具,默认情况下该命令位于 /usr/local/mysql/bin 目录下,正常情况下需要指定该路径才能调用 mysqldump 命令.

$ tree /usr/local/mysql/bin
/usr/local/mysql/bin
├── innochecksum
├── lz4_decompress
├── my_print_defaults
├── myisam_ftdump
├── myisamchk
├── mysql
├── mysql_client_test_embedded
├── mysql_config
├── mysqlbinlog
├── mysqlcheck
├── mysqld
├── mysqld-debug
├── mysqld_multi
├── mysqld_safe
├── mysqldump
├── resolveip
└── zlib_decompress

0 directories, 38 files

所以,应该是如下命令才能调用 mysqldump 命令.

$ /usr/local/mysql/bin/mysqldump --version
mysqldump  Ver 10.13 Distrib 5.7.24, for macos10.14 (x86_64)

不过这也太长了吧,肯定不是很不变,一劳永逸的方法是将 /usr/local/mysql/bin 加入到环境变量中就不用添加额外的路径信息了.

还记得 mysql 服务端刚安装完毕,我们想要通过终端连接到本地数据库服务器时设置了 mysql 的软链接,所以才能直接使用 mysql -u root -p 进行登录.

mac软链接方式相当于 windows 系统的快捷方式,只针对具体命令,现在需要 mysqldump 命令,继续使用软链接还要添加类似的快捷方式.

$ sudo ln -fs /usr/local/mysql/bin/mysql /usr/local/bin/mysql
$ sudo ln -fs /usr/local/mysql/bin/mysqldump /usr/local/bin/mysqldump

实测可用,但是这并不是优雅的操作方式,/usr/local/mysql/bin/ 目录下那么多命令,下次需要用到其他命令岂不是要设置很多软链接?

$ mysqldump --version
mysqldump  Ver 10.13 Distrib 5.7.24, for macos10.14 (x86_64)

所以,现在我们考虑将 /usr/local/mysql/bin 加入到系统环境变量中,这样一来就能一劳永逸不用频繁设置软链接了!

php-setup-environment-mac-mysql-path.png

# mysql
export PATH=$PATH:/usr/local/mysql/bin

设置完毕后下次重启电脑就会生效,或者运行下述命令立即生效.

$ source ~/.bash_profile

为了测试环境变量是否生效,我们先删除原来的软链接.

$ rm -rf /usr/local/bin/mysql
$ rm -rf /usr/local/bin/mysqldump

依然能够正常调用 mysql 相关命令.

# `mysql` 版本信息
$ mysql --version
mysql  Ver 14.14 Distrib 5.7.24, for macos10.14 (x86_64) using  EditLine wrapper

# `mysqldump` 版本信息
$ mysqldump --version
mysqldump  Ver 10.13 Distrib 5.7.24, for macos10.14 (x86_64)

示例:

$ mysqldump -u root -p  test > database_test.sql;
Enter password: 
$

注意 : mysqldumpmysql 相互独立的命令行程序,并不是在 mysql 会话中执行的 sql.
查看当前备份文件内容:

# 备份文件位于当前目录
$ cat $(pwd)/database_test.sql

备份 sql 文件内容,可以直接复制执行.

-- MySQL dump 10.13  Distrib 5.7.24, for macos10.14 (x86_64)
--
-- Host: localhost    Database: test
-- ------------------------------------------------------
-- Server version   5.7.24

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `user`
--

DROP TABLE IF EXISTS `user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `user` (
  `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户 id',
  `name` varchar(45) NOT NULL DEFAULT '' COMMENT '姓名',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `user`
--

LOCK TABLES `user` WRITE;
/*!40000 ALTER TABLE `user` DISABLE KEYS */;
INSERT INTO `user` VALUES (1,'snowdreams1006'),(2,'雪之梦技术驿站'),(3,'测试用户姓名');
/*!40000 ALTER TABLE `user` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2019-05-19 12:49:35
  • 导入数据

语法 : source <mysqldump.sql>

示例:

# 创建 `test_import` 数据库
mysql> create database test_import;

# 使用 `test_import` 数据库
mysql> use test_import;

# 导入 `database_test.sql` 文件
mysql> source /Users/sunpo/Documents/workspace/snowdreams1006.github.io/database_test.sql
  • 删除数据库

语法 : drop database <databaseName>

示例:

mysql> drop database test_import;
Query OK, 1 row affected (0.01 sec)

编程连接

如果没有更改过项目的部署路径,那么我们之前有个测试 php 环境的文件,即 /Library/WebServer/Documents/info.php ,现在我们继续编写该文件,通过编码的方式连接到 mysql 数据库.

<?php

$username="root";
$userpass="root";
$dbhost="127.0.0.1";
$dbdatabase="test";

// 连接到本地服务器
$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
$db->set_charset("utf8");
if(mysqli_connect_error()){
    echo "连接失败: " . mysqli_connect_error();
    exit;
}

# 查询用户列表
$result = $db->query("SELECT id,name FROM user");
if ($result->num_rows > 0) {
    // 输出数据
    while($row = $result->fetch_assoc()) {
        echo var_dump($row). "<br>";
    }
} 

# 关闭数据库连接
$db->close();

phpinfo();

?>

现在再次启动 apache 服务器,访问 http://localhost/info.php 测试成功!

php-setup-environment-mac-php-mysql-connected.png

环境搭建要点总结

apache 服务默认已安装,启动服务器后,在浏览器中访问 http://localhost/ 会显示It works!,表明 apache 能正常使用.

  • 查看 apache 服务器版本 : apachectl -v
  • 启动 apache 服务器 : sudo apachectl start
  • 停止 apache 服务器 : sudo apachectl stop
  • 重启 apache 服务器 : sudo apachectl restart
  • apache 服务器安装路径 : /private/etc/apache2
  • apache 服务器部署路径 : /Library/WebServer/Documents

php 服务默认已安装,集成到 apache 服务器只需要在 /private/etc/apache2/httpd.conf 配置文件中启用 LoadModule php7_module libexec/apache2/libphp7.so 模块即可,重启 apache 服务器即可支持 php 环境.

  • 查看 php 版本信息 : php -version
  • php 默认配置文件路径 : /private/etc/php.ini.default

mysql 数据库默认没有安装,需要手动前往 https://www.mysql.com/downloads/ 官网进行下载安装.

如果需要在终端命令行内访问 mysql 服务端,最好将 mysql 的安装路径添加到系统环境中,或者添加软链接也可以.

  • mysql 安装路径 : /usr/local/mysql
  • 系统环境变量路径 : ~/.bash_profile
  • mysql 二进制文件添加到系统环境变量 : export PATH=$PATH:/usr/local/mysql/bin
  • 刷新系统环境变量配置 : source ~/.bash_profile
  • mysql 命令添加软链接 : sudo ln -fs /usr/local/mysql/bin/mysql /usr/local/bin/mysql
  • 查看 mysql 版本信息 : mysql --version
  • 查看 mysql 服务器状态 : mysql.server status
  • 启动 mysql 服务器 : mysql.server start
  • 停止 mysql 服务器 : mysql.server stop
  • 重启 mysql 服务器 : mysql.server restart
  • 登录 mysql 服务器 : mysql -u root -p
  • 退出 mysql 服务器 : exit

最后,php 不仅仅可以面向过程也可以面向对象,虽然是拍簧片,但真的很强大,魅力不小呢!

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP