热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mac系统PHP开发环境搭建

环境说明使用MAMP中php、Mysql服务使用phpstorm作为开发集成环境使用laravel作为开发框架环境搭建1、MAMP的安装和使用安装1)下载安装破解2)打开MAMP在general标签下
环境说明

使用MAMP中php、Mysql服务

使用phpstorm作为开发集成环境

使用laravel作为开发框架


环境搭建

1、MAMP的安装和使用

安装

1)下载安装破解

2)打开MAMP在general标签下点击“set port to 80,443,3306”设置apache和M有SQL的端口号,host标签使用默认配置,php标签选择默认php版本,个人使用的是7.0.0。

3)点击右上角启动服务则开启apache和mysql服务


问题

1)MAMP无法启动服务,报错端口冲突

目前只遇到过一种就是本机自带的apache服务开启了,所以MAMP的apache无法开启,

首先在浏览器输入localhost回车页面如果显示“it works”则说明系统自带的apache开启了,此时解决办法是在命令行输入sudo apachectl stop关闭系统apache服务,然后再次尝试开启。如果还是无法开启就可能是80端口冲突自己解决下。

2)验证服务开启

验证apache:浏览器数据localhost:端口(如果是80则可以省略)回车,显示MAMP的默认页面则说明apache服务开启了

验证mysql:点击MAMP右上角webstart进入页面后点击phpMyAdmin即可看到数据库管理页面。

3)虽然MAMP安装了php指定了版本号但是在命令行下或者在安装其他依赖php的的软件时都会使用系统自带的php,如何指定成mamp中的指定版本?

命令行在用户目录下ls -a应该有.bash_project文件(如果安装了zsh则使用.zshrc)使用vim打开然后在最底部添加

export MAMP_PHP=/Applications/MAMP/bin/php/php7.0.0/bin
export PATH="$MAMP_PHP:$PATH"

保存并退出,执行source ~./bash_profile(zsh对应.zshrc)再次查看php版本php -v显示则会使用MAMP中的指定版本

4)php.ini如何编辑?

mamp->file->edit template->php->xx.ini


其他说明

1)在MAMP安装成功后就可以进行php开发了:进入mamp的htdocs文件夹,看到index.php这个文件就是默认的主页对应localhost:80,对此文件进行编辑比如刷新浏览器localhost:80会看到"hello php"详细内容不介绍了。


2、phpstorm的安装和使用

安装

1)下载安装破解

2)进入设置页面,在language&frameworks标签选择php,设置php版本为MAMP中指定的版本,interpreter后面点击...选择php路径,MAMP中php7.0.0的路径为/Applications/MAMP/bin/php/php7.0.0/bin/php,选择后interpreter后面的刷新按钮会从灰色变成蓝色,说明配置成功否则配置失败,此处是最重要的配置一定要配置正确才可以使用php进行开发。

3)使用浏览器进行调试的话就可以直接进行php开发了,无需其他设置。

4)可以安装一些插件


问题

1)使用phpstorm打开MAMP中htdocs的index.php,右键点击运行,会直接从浏览器打开该页面,但是会发现显示错误,查看url,发现端口号是63343。

2)php代码错误但是浏览器却不报错。

3)php代码内部使用post表单传递参数失败。

以上错误都是由于phpstorm使用默认部署造成的,解决办法进入设置页面build,execution,deployment标签下deployment中新建一个部署

name:myDeployment

type:inplace

web server root url http:localhost:80

local path:/Applications/MAMPhtdocs/xxx

web path on server "myDeployment":/xxx

填写好之后点击应用,然后再次在phpstorm中右键运行文件会发现url地址已经不再使用63343端口了,其他的问题也同时解决。


其他说明

1)如果使用phpstorm直接进行开发需要解决上面说明的问题,我是用的是2016年2月的版本,其他版本是否有问题不清楚。

2)phpstorm需要依赖php环境,而下面要讲的laravel有其他插件所以可以使用系统的php或mamp的php或使用自己插件的php。


3、laravel的安装和使用

安装

1)安装过程省略

2)安装有两种方法1种使用composer、一种使用homestead,

homestead是一套跨平台的环境包含了laravel所需的全部资源包括php和数据库等,如果使用该环境则不需要安装MAMP,我没有使用homestead原因是我是从mamp开始进行php的学习的,然后到phpstorm,到laravel,是一个逐步渐进的过程,在我发现homestead并准备使用的时候我发现他的安装也是相当复杂,既然这样那就完全没有必要再使用了。

3)添加插件:laravel完整安装和项目的建立是一起的,项目建好后在目录右键选择composer,初始化composer并安装插件

初始化有两种方式1种是直接指定composer的下载地址,另一种点击下载再次下载一份

搜索barryvdh/laravel-ide-helper并安装,安装成功后重启加载插件,该插件是用来进行代码检测和补全的。

如果需要为app写接口,dingoApi是很好的插件。

4)启动服务

进入项目目录命令行执行php artisan serve启动php内建服务,浏览器输入http://localhost:8000即可看到laravel欢迎页面。


问题

1)composer安装:安装laravel默认匹配系统自带的php版本,如果要使用mamp中的高版本按照mamp问题3)进行修改。(使用系统自带的有可能会出现php版本过低的情况)

2)如何使用数据库?

我是用的是MAMP中安装的mysql,进入phpMyAdmin页面创建数据库如myDB

在laravel项目中设置.env和config database.php中mysql的参数,修改用户名和密码还有数据库名字

在laravel中执行php artisan migrate:make create-users-table 创建表“create-users-table”则会在myDB下创建表,项目中会生成xxx-create-users-table.php文件,在其中编辑表的元素即可。例如

public function up() {
       Schema::create('users', function($table){
        $table->increments('id');
        $table->string('username', 20);
        $table->string('email', 100)->unique();
        $table->string('password', 64);
        $table->string('remember_token',62)->default('default');
        $table->timestamps();
        });
}

最后执行 php artisan migrate 在数据库中创建表和元素,完成后需要重新启动laravel!重启后就可以使用数据了。


其他说明

注意MAMP phpstorm  laravel之间的关系

单独使用mamp可以直接进行开发,搭配一个编辑器即可如sublime

单独使用phpstorm可以直接进行开发,不过需要使用系统的php和apache服务

单独使用laravel可以进行开发,需要使用homestead开发环境并且搭配一个编辑器如sublime

在本例中,可以将mamp理解为php和mysql服务提供者,phpstorm理解为编辑器,laravel理解为纯的框架




推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 开发笔记:(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了(002)spring容器中bean初始化销毁时执行的方法及其3种实现方式相关的知识,希望对你有一定的参考价值。 ... [详细]
  • http头_http头部注入
    1、http头部注入分析1、原理 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
author-avatar
天天宅家里变胖的小黑
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有