当前位置: 首页 > 后端技术 > PHP

macOSHighSierra10.13.3搭建全新PHP开发环境

时间:2023-03-29 20:57:21 PHP

MacPro,用了快三年了,出问题了。苹果帮忙换了一个全新的,只好重新安装环境,安装平时开发需要的各种软件,本着乐于助人的雷锋精神,也写了这个build,希望去帮助更多的人。废话不多说,进入正题macOSSierra预装了Ruby、PHP、Perl、Python等常用的脚本语言,以及Apache服务器等。1、安装XcodeXcode是苹果公司出品的一款开发软件,包含了一系列的工具和库。从AppStore安装最新版本的Xcode。(如果你的Xcode版本是8.2之前,编译PHP7.0+的时候会提示“updateXcode”版本)我们一般不会使用Xcode来开发PHP项目。但是这一步也是必须的,因为Xcode会帮你安装一些必要的软件比如Git。当然你也可以通过源码包安装GitN。许多包都基于Xcode。既然一定要安装,我就把这个安装放在了第一步。安装成功。公司网络不好,只好晚上回家安装。耗时约2小时,大小约5G,网络不好请提前安装。2.安装Xcode命令行工具这一步将帮助您安装许多常见的基于Unix的工具。Xcode命令行工具包括作为Xcode一部分的GCC编译器。在命令行执行以下命令安装:xcode-select--install直接点击安装,然后就是等待安装完成,哎,等待总是漫长的。验证您是否已成功安装Xcode命令行工具:xcode-select-p返回以下内容以指示安装成功/Applications/Xcode.app/Contents/Developer3。安装HomebrewHomebrew是一个macOS包管理器,用于安装、升级和卸载常用软件/usr/bin/ruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)》及时按回车键,输入开机密码,等待安装完成有时候homebrew核心仓库没有我们要的安装包,但是在其他仓库里,这时我们可以添加homebrew扩展仓库自行*列出已有的仓库:`brewtap`*添加仓库:`brewtap仓库名`*删除仓库:`brewuntap仓库名`安装完成后,可以考虑换Homebrew源,因为国外源还没有已经很强大了,这里我们把Homebrew源换成中国科学技术大学的开源软件镜像:cd"$(brew--repo)"gitremoteset-urloriginhttps://mirrors.ustc。edu.cn/brew.git4.安装iTerm2iTerm2是最好的tMAC下的erminal工具(没有之一),配合oh-my-zsh及其插件将是一个强大的神器。下载iTerm2,打开它,系统会提示您移动到应用程序,或者在Finder中,将iTerm拖放到应用程序文件夹中。这样,您就可以在Launchpad中启动iTerm2。4.1安装oh-my-zsh接下来,安装与iTerm2一起使用的oh-my-zsh。首先,查看系统支持的shell列表。Mac系统自带zsh。在Linux上,必须安装cat/etc/shellszsh--version//查看版本虽然Mac自带了zsh,但是如果你想要最新版本的zsh,那么你可以使用brewinstallzsh安装最新版本(不是一个大问题)sh-c"$(curl-fsSLhttps://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"哇,iTerm2的界面多了瞬间舒服了,有没有,有没有?(哈哈哈哈哈哈哈)但是默认的主题“robbyrussell”用起来感觉还是有点差,大部分coder更喜欢agnoster.zsh-theme主题和各种主题vim~/.zshrc//打开这个配置文件ZSH_THEME="robbyrussell"找到这一行主题配置并将其替换为以下主题名称ZSH_THEME="agnoster"#(这是其中之一)#参见https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster打开anewterminal看看是什么主题,但是好像有问题,有些字符不能正常显示,所以我们安装一个字体Powerlinefonts#clonegitclonehttps://github.com/powerline/fonts.git--depth=1#installcdfonts./install.sh#clean-upabitcd..rm-rffonts然后到iterm2的preferences>profiles>colors颜色设置中选择一个(我比较喜欢这种颜色)http://ethanschoonover.com/so...配色主题继续修改字体,改成刚刚安装的字体然后重新打开一个terminal,发现会带上自己的mac用户名什么的,个人觉得挺多余的,就自己改了,先到存放主题的文件夹>复制agnoster.zsh-theme>myagnoster。zsh-themecd~/.oh-my-zsh/themes//进入主题文件夹cpagnoster.zsh-thememyagnoster.zsh-theme//复制一份vimmyagnoster.zsh-themeOpen##Mainpromptbuild_prompt(){RETVAL=$?prompt_statusprompt_virtualenv#prompt_contextprompt_dirprompt_gitprompt_hgprompt_end}把prompt_context用#注释掉,然后打开.zshrcZSH_THEME="agnoster""ZSH_THEME="myagnoster"改成这个是为了避免升级冲突。4.2插件ohmyzsh自带插件ohmyzsh本身自带了很多插件,比如:git,autojumposx,但是基本上都没有启用,插件目录:~/.oh-my-zsh/plugins4.2.1安装zsh-syntax-highlighting,自动高亮效果插件,也是以oh-my-zsh插件的形式与oh-my-zsh一起安装的。还有更多的安装方式,你可以在oh-my-zsh的plugins目录下探索Clone这个仓库:gitclonehttps://github.com/zsh-users/zsh-syntax-highlighting.git${ZSH_CUSTOM:-~/。oh-my-zsh/custom}/plugins/zsh-syntax-highlighting在~/.zshrc:plugins=([plugins...]zsh-syntax-highlighting)Source~/.zshrc中激活插件以考虑更改:source~/.zshrc命令可以正确高亮显示,这样就可以避免命令输入错误的情况,是不是很聪明?4.2.2安装zsh-autosuggestionsOhMyZsh插件安装Clone这个仓库到$ZSH_CUSTOM/plugins(默认~/.oh-my-zsh/custom/plugins)gitclonehttps://github.com/zsh-users/zsh-autosuggestions$ZSH_CUSTOM/plugins/zsh-autosuggestions将插件添加到OhMyZsh的插件列表中加载:plugins=(zsh-autosuggestions)source~/.zshrcsource~/.zshrc4.2.3安装autojump命令,直接跳转到配置的目录,不管你现在在哪里,依赖zshOSXHomebrew是MacOSX推荐的安装方式:(之前已经安装过homebrew)brewinstallautojumpvim~/.zshrcplugins=([plugins...]autojump)添加autojump到.zshrc的plugins中,添加新行[[-s$(brew--prefix)/etc/profile.d/autojump.sh]]&&。$(brew--prefix)/etc/profile.d/autojump.sh然后打开一个新的终端,可以用4.3的iterm快捷键打开。打开finder?+返回全屏?+f在当前目录下,你要找的内容会被自动复制?+d水平分屏/?+shift+d垂直分屏命令?+/光标位置?+r就切换到一个新的屏幕,而不是像clearctrl+u那样创建一个空屏幕清除当前行ctrl+a到行首ctrl+e到行尾ctrl+w删除光标前的单词ctrl+k删除到文末?+alt+方向键切换屏幕(用于热键窗口)?+方向键切换tabctrl+_Undoctrl+y粘贴最后要剪切的东西4.4oh-my-zshgitpluginaliasaliasga='gitadd'aliasgb='gitbranch'aliasgba='gitbranch-a'aliasgbd='gitbranch-d'aliasgcam='gitcommit-a-m'aliasgcb='gitcheckout-b'aliasgco='gitcheckout'aliasgcm='gitcheckoutmaster'aliasgcp='gitcherry-pick'aliasgd='gitdiff'aliasgfo='gitfetchorigin'aliasggpush='gitpushorigin$(git_current_branch)'别名ggsup='gitbranch--set-upstream-to=origin/$(git_current_branch)'别名glgp='gitlog--stat-p'别名gm='gitmerge'别名gp='gitpush'别名gst='gitstatus'aliasgsta='gitstashsave'aliasgstp='gitstashpop'aliasgl='gitpull'aliasglg='gitlog--stat'aliasglgp='gitlog--stat-p'5.安装PHPMac的最新系统已经自带了php。个人比较喜欢安装最新的,所以这里升级brewsearchphp//先搜索brewinstallphp//安装,等待安装完成打开新的tab输入php-v,可以看到最新版本。addboot-upln-sfv/usr/local/opt/php/*.plist~/Library/LaunchAgents6.安装PHP的依赖管理工具ComposerDependencyManagerforPHPbrewsearchcomposerbrewinstallcomposer安装成功,然后我们就可以通过composer7安装PHP的一些扩展包了。安装Mysqlbrewinstallmysql//安装成功如下:我们已经安装了你的MySQL数据库,没有root密码。要确保它运行:mysql_secure_installationMySQL配置为默认情况下仅允许来自本地主机的连接要连接运行:mysql-uroot要启动立即启动mysql并在登录时重新启动:brewservicesstartmysql或者,如果是如果你不想/不需要后台服务,你可以运行:mysql.serverstart开始:mysql.serverstart添加引导自启动ln-sfv/usr/local/opt/mysql/*.plist~/Library/LaunchAgents运行密码配置//运行mysql_secure_installationmysql_secure_installation保护MySQL服务器部署。使用空白密码连接到MySQL。VALIDATEPASSWORDPLUGIN可以用来测试密码//密码验证插件,为了提高安全性,需要验证密码,提高安全性。它检查密码的强度//它将检查密码的强度并允许用户仅设置那些//仅允许用户设置足够安全的密码。您想设置VALIDATEPASSWORD插件吗?//你确定要安装密码验证插件吗?Pressy|YforYes,anyotherkeyforNo:y//OKtoinstall密码验证策略分为三级://三级验证策略LOWLength>=8//最小长度大于等于to8charactersMEDIUMLength>=8,numeric,mixedcase,andspecialcharacters//混合数字、字母和特殊字符,具体至少1个数字、1个字母、1个特殊字符,长度不超过32个字符STRONGLength>=8,数字,大小写混合,特殊charactersanddictionaryfile//最严格的,plus,dictionaryfilePleaseenter0=LOW,1=MEDIUMand2=STRONG:0//这里我选择0,最简单的,请在这里设置root密码。Newpassword://EnterpasswordRe-enternewpassword://Re-enterpasswordEstimatedstrengthofthepassword:50//RatingofpasswordstrengthDoyouwishtocontinuewiththepasswordprovided?(按y|Y表示是,anyotherkeyforNo):y//你想使用刚刚输入的密码吗?默认情况下,一个MySQL安装有一个匿名用户,//默认情况下,MySQL有一个匿名用户,允许任何人登录MySQL而不必//这个匿名用户不必为他们创建一个用户,匿名用户允许任何人登录MySQL,为他们创建一个用户帐户。Thisisonlyfor//thisisjustforeasytestingusingtesting,并使安装更顺利。你应该在进入生产环境之前移除它们//在正式环境中使用它时,建议你移除它的环境。删除匿名用户?(按y|Y表示是,任何其他键表示否):y//提示删除匿名用户成功。Normally,rootshouldonlybeallowedtoconnectfrom//一般情况下,只允许root用户使用使用“本地主机”、“本地主机”登录。这可确保有人无法从网络中猜出root密码。//这样可以确保有人无法通过网络访问它。禁止root远程登录?(按y|Y表示是,任何其他键表示否):no//root是否不允许远程登录?...跳过。默认情况下,MySQL带有一个名为“test”的数据库,//默认情况下,任何人都可以在MySQL数据库中访问。Thisisalsointendedonlyfortesting,//Thisisonlyfortestingandshouldremovebeforemovingintoaproduction//在正式环境中,环境应该被移除。删除测试数据库并访问它?(按y|Y表示是,任何其他键表示否):y//确认删除测试数据库?-删除测试数据库...成功。-删除测试数据库的权限...成功。重新加载权限表将确保到目前为止所做的所有更改将立即生效。//刷新权限表,保证所有修改立即生效Reloadprivilegetablesnow?(按y|Y表示是,任何其他键表示否):y//ConfirmtorefreshSuccess.全做完了!8.安装LaravelValet在这里说明一下,NGINX应该已经安装好了,因为我我接触过的项目都是laravel或者lumen,所以安装了laravel官方支持的valet开发环境。这其实就是自己使用的nginx。就用这个开发环境,开发laravel的很多项目都非常方便。我个人也比较推荐使用,目前支持Mac和linux系统。系统前面已经安装好php和composer,这里直接安装composerglobalrequirelaravel/valet即可。//获取项目valetinstall//然后安装pingfoobar.test//Ping看是否在home目录下创建一个Sites文件夹,然后所有的项目都会放到这个文件夹下。访问的话也是文件夹名+.test。mkdir~/Sitescd~/Sitesvaletpark//设置该目录为项目仓库代客路径//勾选代客仓库路径,这样就可以用http://blog.test域名访问了。如果有需要切换PHP版本的用户,我觉得这个brew-php-switcher可能更合适。9、安装Redisbrew搜索redisbrewinstall在/usr/local/etc/redis.confredis-server中设置了redis的默认配置。启动ln-sfv/usr/local/opt/redis/*.plist~/Library/LaunchAgents使用launchctl启动redisserverlaunchctlload~/Library/LaunchAgents/homebrew.mxcl.redis.plist最基本的PHP开发环境已经有了建立起来,就可以创造世界!哈哈