最近做一个项目,前后端交互的api文档一直以excel和word的形式管理,觉得很不方便,于是就是想找个更直观的方式。在网上找了一圈,有一些看起来很不错(没用过,所以只能说看起来很不错)的开源api管理平台,比如EasyAPI。
但是,我又不想将api放在别人的服务器上,继续寻找,发现了showdoc。这是个可以部署到自己服务器的开源api管理项目,使用的php。于是,我开始在自己的mac上折腾Apache+PHP+MySQL,下面进入正题。
Apache+PHP配置
mac osx系统都自带了Apache和PHP环境,只是默认情况下没有开启,我个人设备环境如下:
- PHP版本:5.5.27
- Apache版本:2.4.16 (Unix)
- 系统版本:OS X EI Capitan(OS X 10.11)
开启Apache
打开终端,输入如下开启命令。
- 开启Apache:sudo apachectl start
- 关闭Apache:sudo apachectl stop
- 重启Apache:sudo apachectl restart
在浏览器中输入localhost,如果出现如下默认的“It works!”界面,则表示Apache开启成功。
localhost-osx-apache.png
开启PHP
开启PHP,需要修改Apache配置文件,方法如下:
- 打开终端,输入命令:sudo vim /etc/apache2/httpd.conf
- 找到#LoadModule php5_module libexec/apache2/libphp5.so,去掉注释(删除前面的井号)。
mac下Apache的默认文件夹为/Library/WebServer/Documents,在该目录下创建一个名为index.php文件,在文件中添加如下内容:。删除原目录下的index.html文件,然后在浏览器中输入localhost,如果出现如下PHP的info页,则表示PHP开启成功,如果不成功,用前面的命令重启Apache再试。
QQ20160219-0@2x.png
修改Apache目录
上面说到了mac下Apache的默认文件夹为/Library/WebServer/Documents,该目录默认是隐藏的,操作不是很方便,我们可以将其修改成自定义的目录。
- 打开终端,输入命令:sudo vim /etc/apache2/httpd.conf
- 找到如下两处 DocumentRoot "/Library/WebServer/Documents"
- 将两处中引号中的目录替换为自定义的目录
完成以上三步后,重启Apache,将之前创建的index.php文件拷贝到自定义目录中,然后在浏览器中输入localhost,如果出现PHP的info页,则表示目录修改成功。
MySQL安装
OSX 10.11没有自带MySQL,需要我们自己安装。这里只介绍最简单的方式,到MySQL官网下载最新的dmg安装包,我本人下载的是mysql-5.7.11-osx10.10-x86_64.dmg。进入下载页面后,会提示你登陆或注册,这里不必理会,直接点击底部的“No thanks, just start my download.”即可开始下载。 双击下载的dmg安装,一直下一步安装,最后安装完成后会弹出一个提示,告诉你MySQL为root@localhost账号生成了一个临时密码,务必将这个密码保存下来。
mysql-root-password.png
启动MySQL
- 进入系统偏好设置,点击MySQL。
QQ20160219-2@2x.png
- 点击Start MySQL Server
QQ20160219-1@2x.png
修改root用户的密码
打开终端,输入命令(将temppassword替换为之前保存的临时密码):/usr/local/mysql/bin/mysqladmin -u root -p'temppassword' password 'newpassword'
修复“2002 MySQL Socket error”
如果出现“2002 MySQL Socket error”错误,表示无法找到支持MySQL的c/s通信的socket。原因是MySQL将其放在 /tmp 目录,而OSX将其放在 /var/mysql 目录。所以我们只需要创建一个软链接,输入以下两个命令即可:创建目录:sudo mkdir /var/mysql创建软链接:sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
phpMyAdmin
完成以上两步,MySQL就算安装配置完成了,不过为了方便,有必要安装一个可视化的工具,我选择phpMyAdmin。 直接到phpMyAdmin官网下载最新的zip包,建议下载多语言版本,支持简体中文。下载完成后,将解压后的文件夹重命名为phpMyAdmin,然后放置到自定义的Apache路径的根目录下。 在浏览器中输入localhost/phpMyAdmin,出现MySQL的登陆页面,在该页面可以设置语言,然后用root和之前设置的密码登陆。看到如下两个页面,就大功告成了!!
QQ20160219-3@2x.png
QQ20160219-4@2x.png
参考资料
- Mac下配置Apache + Php + Mysql环境
- Get Apache, MySQL, PHP and phpMyAdmin working on OSX 10.11 El Capitan

PHP类型提示提升代码质量和可读性。1)标量类型提示:自PHP7.0起,允许在函数参数中指定基本数据类型,如int、float等。2)返回类型提示:确保函数返回值类型的一致性。3)联合类型提示:自PHP8.0起,允许在函数参数或返回值中指定多个类型。4)可空类型提示:允许包含null值,处理可能返回空值的函数。

PHP中使用clone关键字创建对象副本,并通过\_\_clone魔法方法定制克隆行为。1.使用clone关键字进行浅拷贝,克隆对象的属性但不克隆对象属性内的对象。2.通过\_\_clone方法可以深拷贝嵌套对象,避免浅拷贝问题。3.注意避免克隆中的循环引用和性能问题,优化克隆操作以提高效率。

PHP适用于Web开发和内容管理系统,Python适合数据科学、机器学习和自动化脚本。1.PHP在构建快速、可扩展的网站和应用程序方面表现出色,常用于WordPress等CMS。2.Python在数据科学和机器学习领域表现卓越,拥有丰富的库如NumPy和TensorFlow。

HTTP缓存头的关键玩家包括Cache-Control、ETag和Last-Modified。1.Cache-Control用于控制缓存策略,示例:Cache-Control:max-age=3600,public。2.ETag通过唯一标识符验证资源变化,示例:ETag:"686897696a7c876b7e"。3.Last-Modified指示资源最后修改时间,示例:Last-Modified:Wed,21Oct201507:28:00GMT。

在PHP中,应使用password_hash和password_verify函数实现安全的密码哈希处理,不应使用MD5或SHA1。1)password_hash生成包含盐值的哈希,增强安全性。2)password_verify验证密码,通过比较哈希值确保安全。3)MD5和SHA1易受攻击且缺乏盐值,不适合现代密码安全。

PHP是一种服务器端脚本语言,用于动态网页开发和服务器端应用程序。1.PHP是一种解释型语言,无需编译,适合快速开发。2.PHP代码嵌入HTML中,易于网页开发。3.PHP处理服务器端逻辑,生成HTML输出,支持用户交互和数据处理。4.PHP可与数据库交互,处理表单提交,执行服务器端任务。

PHP在过去几十年中塑造了网络,并将继续在Web开发中扮演重要角色。1)PHP起源于1994年,因其易用性和与MySQL的无缝集成成为开发者首选。2)其核心功能包括生成动态内容和与数据库的集成,使得网站能够实时更新和个性化展示。3)PHP的广泛应用和生态系统推动了其长期影响,但也面临版本更新和安全性挑战。4)近年来的性能改进,如PHP7的发布,使其能与现代语言竞争。5)未来,PHP需应对容器化、微服务等新挑战,但其灵活性和活跃社区使其具备适应能力。

PHP的核心优势包括易于学习、强大的web开发支持、丰富的库和框架、高性能和可扩展性、跨平台兼容性以及成本效益高。1)易于学习和使用,适合初学者;2)与web服务器集成好,支持多种数据库;3)拥有如Laravel等强大框架;4)通过优化可实现高性能;5)支持多种操作系统;6)开源,降低开发成本。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器