当前位置:   article > 正文

mac系统快速搭建 php 开发环境

mac php集成开发环境

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

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

web 服务器之 apache

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

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

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

$ sudo apachectl start

640?wx_fmt=png

常用命令

  • 查看 apache 版本

语法: apachectl-v

示例:

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

语法: sudo apachectl start

示例:

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

语法: sudo apachectl stop

示例:

$ sudo apachectl stop
  • 重启 apache 服务

语法: sudo apachectl restart

示例:

$ sudo apachectl restart

安装路径

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

示例:

  1. $ tree /private/etc/apache2
  2. /private/etc/apache2
  3. ├── extra
  4. │   ├── httpd-autoindex.conf
  5. │   ├── httpd-autoindex.conf~previous
  6. │   ├── httpd-dav.conf
  7. │   ├── httpd-dav.conf~previous
  8. │   ├── httpd-default.conf
  9. ├── httpd.conf
  10. ├── httpd.conf.pre-update
  11. ├── httpd.conf~previous
  12. ├── magic
  13. ├── mime.types
  14. ├── original
  15. │   ├── extra
  16. │   │   ├── httpd-autoindex.conf
  17. │   │   ├── httpd-dav.conf
  18. │   │   ├── httpd-default.conf
  19. │   │   ├── httpd-vhosts.conf
  20. │   │   └── proxy-html.conf
  21. │   └── httpd.conf
  22. ├── other
  23. │   └── php7.conf
  24. └── users
  25. └── Guest.conf
  26. 5 directories, 43 files

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

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

vim 搜索文件内容时临时高亮设置: :sethlsearch ,取消高亮设置: :setnohlsearch .

  • 修改项目部署路径

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

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

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

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

640?wx_fmt=png

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

  • 修改项目部署端口

Listen : 默认监听端口 80

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

  1. # 等价于 http://localhost:80
  2. http://localhost
  3. # 等价于 http://127.0.0.1:80
  4. http://127.0.0.1

640?wx_fmt=png

部署路径

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

  1. $ tree /Library/WebServer/Documents
  2. /Library/WebServer/Documents
  3. ├── PoweredByMacOSX.gif
  4. ├── PoweredByMacOSXLarge.gif
  5. ├── index.html.en
  6. └── index.html.en~orig
  7. 0 directories, 4 files

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

640?wx_fmt=png

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

世界上最好的语言之 php

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

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

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

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

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

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

640?wx_fmt=png

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

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

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

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

640?wx_fmt=png

持久化存储之 mysql 数

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

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

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

mysql 服务端

下载链接: macOS 10.14 (x86, 64-bit), DMG Archive

640?wx_fmt=png

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

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

640?wx_fmt=png

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

640?wx_fmt=png

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

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

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

  1. # 登录 `mysql` 服务端
  2. $ mysql -u root -p
  3. Enter password:
  4. Welcome to the MySQL monitor. Commands end with ; or \g.
  5. Your MySQL connection id is 29
  6. Server version: 5.7.24 MySQL Community Server (GPL)
  7. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  8. Oracle is a registered trademark of Oracle Corporation and/or its
  9. affiliates. Other names may be trademarks of their respective
  10. owners.
  11. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  12. # 查看当前数据库列表
  13. mysql> show databases;
  14. +---------------------+
  15. | Database |
  16. +---------------------+
  17. | information_schema |
  18. | mysql |
  19. | performance_schema |
  20. | security-plus |
  21. | sys |
  22. | test |
  23. +---------------------+
  24. 6 rows in set (0.00 sec)
  25. # 退出当前数据库会话
  26. mysql> exit
  27. Bye
  28. $
  • 查看 mysql 服务端版本

语法: mysql--version

示例:

  1. $ mysql --version
  2. 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

示例:

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

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

示例:

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

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

示例:

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

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

示例:

  1. $ sudo /usr/local/mysql/support-files/mysql.server restart
  2. Shutting down MySQL
  3. . SUCCESS!
  4. Starting MySQL
  5. . SUCCESS!

mysql 客户端

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

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

  • BS 架构的 phpMyAdmin

下载地址 : phpMyAdmin

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

640?wx_fmt=png

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

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

  1. # 仅仅显示两级文件目录
  2. $ tree -L 2
  3. .
  4. ├── PoweredByMacOSX.gif
  5. ├── PoweredByMacOSXLarge.gif
  6. ├── index.html.en
  7. ├── index.html.en~orig
  8. ├── info.php
  9. └── phpMyAdmin
  10. ├── CODE_OF_CONDUCT.md
  11. ├── CONTRIBUTING.md
  12. ├── export.php
  13. ├── favicon.ico
  14. ├── gis_data_editor.php
  15. ├── import.php
  16. ├── import_status.php
  17. ├── index.php
  18. ├── view_operations.php
  19. └── yarn.lock
  20. 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 .

示例:

  1. # 修改前
  2. $cfg['Servers'][$i]['host'] = 'localhost';
  3. # 修改后: 将 `localhost` 更改成 `127.0.0.1`
  4. $cfg['Servers'][$i]['host'] = '127.0.0.1';

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

  • CS 架构的 SequelPro

下载地址 : v1.1.2 OS X 10.6 or Higher

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

php 集成 mysql

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

准备数据

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

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

  • 连接到本地服务器

语法 : mysql-u<username>-p

示例:

  1. # 连接到本地数据库,用户名 `root`,密码自定义
  2. $ mysql -u root -p
  3. Enter password:
  4. Welcome to the MySQL monitor. Commands end with ; or \g.
  5. Your MySQL connection id is 109
  6. Server version: 5.7.24 MySQL Community Server (GPL)
  7. Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  8. Oracle is a registered trademark of Oracle Corporation and/or its
  9. affiliates. Other names may be trademarks of their respective
  10. owners.
  11. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  • 列出当前数据库列表

语法 : show databases

示例:

  1. mysql> show databases;
  2. +--------------------+
  3. | Database |
  4. +--------------------+
  5. | information_schema |
  6. | mysql |
  7. | performance_schema |
  8. | security-plus |
  9. | sys |
  10. +--------------------+
  11. 5 rows in set (0.00 sec)
  • 创建测试数据库

语法 : create database<databaseName>

示例:

  1. # 创建 `test` 数据库并指定编码格式为 `utf8`
  2. mysql> create database IF NOT EXISTS test default charset utf8 COLLATE utf8_general_ci;
  3. Query OK, 1 row affected (0.00 sec)
  4. # 再次查询当前数据库列表,新增 `test` 数据库
  5. mysql> show databases;
  6. +--------------------+
  7. | Database |
  8. +--------------------+
  9. | information_schema |
  10. | mysql |
  11. | performance_schema |
  12. | security-plus |
  13. | sys |
  14. | test |
  15. +--------------------+
  16. 6 rows in set (0.00 sec)
  • 列出当前数据表列表

语法 : show tables

示例:

  1. # 使用 `test` 测试数据库
  2. mysql> use test;
  3. Database changed
  4. # 列出当前全部数据表
  5. mysql> show tables;
  6. Empty set (0.00 sec)
  • 创建测试数据表

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

  1. # 创建 `user` 用户表
  2. mysql> CREATE TABLE `test`.`user` (
  3. `id` BIGINT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户 id',
  4. `name` VARCHAR(45) NOT NULL DEFAULT '' COMMENT '姓名',
  5. PRIMARY KEY (`id`),
  6. UNIQUE INDEX `id_UNIQUE` (`id` ASC))
  7. ENGINE = InnoDB
  8. DEFAULT CHARACTER SET = utf8
  9. COMMENT = '用户表';
  10. Query OK, 0 rows affected (0.01 sec)
  11. # 再次列出当前数据表列表
  12. mysql> show tables;
  13. +----------------+
  14. | Tables_in_test |
  15. +----------------+
  16. | user |
  17. +----------------+
  18. 1 row in set (0.00 sec)
  • 查看数据表结构

语法 : desc<tableName>

示例:

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

语法 : show create table<tableName>

示例:

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

语法 : select[fields]fromtableName[wherecondition][limit N][offset M]

示例:

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

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

示例:

  1. mysql> INSERT INTO `test`.`user` (`name`) VALUES ('snowdreams1006');
  2. Query OK, 1 row affected (0.00 sec)
  3. mysql> INSERT INTO `test`.`user` (`name`) VALUES ('雪之梦技术驿站');
  4. Query OK, 1 row affected (0.00 sec)
  5. mysql> INSERT INTO `test`.`user` (`name`) VALUES ('测试用户姓名');
  6. Query OK, 1 row affected (0.00 sec)
  7. mysql> select id,name from user;
  8. +----+-----------------------+
  9. | id | name |
  10. +----+-----------------------+
  11. | 1 | snowdreams1006 |
  12. | 2 | 雪之梦技术驿站 |
  13. | 3 | 测试用户姓名 |
  14. +----+-----------------------+
  15. 3 rows in set (0.00 sec)
  • 退出数据库

语法 : exit

示例:

  1. mysql> exit
  2. Bye
  3. $
  • 导出数据

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

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

  1. $ tree /usr/local/mysql/bin
  2. /usr/local/mysql/bin
  3. ├── innochecksum
  4. ├── lz4_decompress
  5. ├── my_print_defaults
  6. ├── myisam_ftdump
  7. ├── myisamchk
  8. ├── mysql
  9. ├── mysql_client_test_embedded
  10. ├── mysql_config
  11. ├── mysqlbinlog
  12. ├── mysqlcheck
  13. ├── mysqld
  14. ├── mysqld-debug
  15. ├── mysqld_multi
  16. ├── mysqld_safe
  17. ├── mysqldump
  18. ├── resolveip
  19. └── zlib_decompress
  20. 0 directories, 38 files

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

  1. $ /usr/local/mysql/bin/mysqldump --version
  2. 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 命令,继续使用软链接还要添加类似的快捷方式.

  1. $ sudo ln -fs /usr/local/mysql/bin/mysql /usr/local/bin/mysql
  2. $ sudo ln -fs /usr/local/mysql/bin/mysqldump /usr/local/bin/mysqldump

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

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

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

640?wx_fmt=png

  1. # mysql
  2. export PATH=$PATH:/usr/local/mysql/bin

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

$ source ~/.bash_profile

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

  1. $ rm -rf /usr/local/bin/mysql
  2. $ rm -rf /usr/local/bin/mysqldump

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

  1. # `mysql` 版本信息
  2. $ mysql --version
  3. mysql Ver 14.14 Distrib 5.7.24, for macos10.14 (x86_64) using EditLine wrapper
  4. # `mysqldump` 版本信息
  5. $ mysqldump --version
  6. mysqldump Ver 10.13 Distrib 5.7.24, for macos10.14 (x86_64)

示例:

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

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

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

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

  1. -- MySQL dump 10.13 Distrib 5.7.24, for macos10.14 (x86_64)
  2. --
  3. -- Host: localhost Database: test
  4. -- ------------------------------------------------------
  5. -- Server version 5.7.24
  6. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  7. /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
  8. /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
  9. /*!40101 SET NAMES utf8 */;
  10. /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
  11. /*!40103 SET TIME_ZONE='+00:00' */;
  12. /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
  13. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  14. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  15. /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
  16. --
  17. -- Table structure for table `user`
  18. --
  19. DROP TABLE IF EXISTS `user`;
  20. /*!40101 SET @saved_cs_client = @@character_set_client */;
  21. /*!40101 SET character_set_client = utf8 */;
  22. CREATE TABLE `user` (
  23. `id` bigint(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户 id',
  24. `name` varchar(45) NOT NULL DEFAULT '' COMMENT '姓名',
  25. PRIMARY KEY (`id`),
  26. UNIQUE KEY `id_UNIQUE` (`id`)
  27. ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='用户表';
  28. /*!40101 SET character_set_client = @saved_cs_client */;
  29. --
  30. -- Dumping data for table `user`
  31. --
  32. LOCK TABLES `user` WRITE;
  33. /*!40000 ALTER TABLE `user` DISABLE KEYS */;
  34. INSERT INTO `user` VALUES (1,'snowdreams1006'),(2,'雪之梦技术驿站'),(3,'测试用户姓名');
  35. /*!40000 ALTER TABLE `user` ENABLE KEYS */;
  36. UNLOCK TABLES;
  37. /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
  38. /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
  39. /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
  40. /*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
  41. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
  42. /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
  43. /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
  44. /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
  45. -- Dump completed on 2019-05-19 12:49:35
  • 导入数据

语法 : source<mysqldump.sql>

示例:

  1. # 创建 `test_import` 数据库
  2. mysql> create database test_import;
  3. # 使用 `test_import` 数据库
  4. mysql> use test_import;
  5. # 导入 `database_test.sql` 文件
  6. mysql> source /Users/sunpo/Documents/workspace/snowdreams1006.github.io/database_test.sql
  • 删除数据库

语法 : drop database<databaseName>

示例:

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

编程连接

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

  1. <?php
  2. $username="root";
  3. $userpass="root";
  4. $dbhost="127.0.0.1";
  5. $dbdatabase="test";
  6. // 连接到本地服务器
  7. $db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
  8. $db->set_charset("utf8");
  9. if(mysqli_connect_error()){
  10. echo "连接失败: " . mysqli_connect_error();
  11. exit;
  12. }
  13. # 查询用户列表
  14. $result = $db->query("SELECT id,name FROM user");
  15. if ($result->num_rows > 0) {
  16. // 输出数据
  17. while($row = $result->fetch_assoc()) {
  18. echo var_dump($row). "<br>";
  19. }
  20. }
  21. # 关闭数据库连接
  22. $db->close();
  23. phpinfo();
  24. ?>

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

640?wx_fmt=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 配置文件中启用 LoadModulephp7_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 二进制文件添加到系统环境变量 : exportPATH=$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 不仅仅可以面向过程也可以面向对象,虽然是~~拍簧片~~,但真的很强大,魅力不小呢!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/753107
推荐阅读
相关标签
  

闽ICP备14008679号