mac系统PHP开发环境搭建

时间:2021-03-20 03:19:40

环境说明

使用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,对此文件进行编辑比如<?php echo"hello php" ?>刷新浏览器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理解为纯的框架