# macos 小白用户推荐使用下载xampp的普通版本,简单快捷高效。有经验的用户推荐使用安装xampp的虚拟机版本。 >[info] 本教程将在普通模式下讲解 ## 普通模式 ### 下载composer 官方推荐使用curl的方式下载comcoser,所以在继续操作以前,需要确认自己的计算机已安装了curl。 打开shell并下载composer: ```bash panjiedeMac-Pro:~ panjie$ curl -sS https://getcomposer.org/installer | php All settings correct for using Composer Downloading... Composer (version 2.0.8) successfully installed to: /Users/panjie/composer.phar Use it: php composer.phar ``` 该操作依赖于网络,在网络不太理想的情况下会发生错误,比如:`Failed to decode zlib stream `,解决的方法也很简单:多试几次。 移动composer: ```bash panjiedeMac-Pro:~ panjie$ mv composer.phar /usr/local/bin/composer ``` 设置国内源,加速下载: ```bash panjiedeMac-Pro:~ panjie$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ ``` >[warning] 如果你在安装xampp前已经安装过其它版本的php,则无需以下操作。 composer若想成功运行还需要php的支持,我们使用**快捷方式**的方法将php放到`/usr/local/bin`文件夹中。 ```bash panjiedeMac-Pro:~ panjie$ ln -s /Applications/XAMPP/bin/php /usr/local/bin/php ``` ### 下载TP6 xampp中的apache有个叫`文档根目录`的东西,要成功的运行TP6则需要将其下载到 apache的`文档根目录`中。在当前xampp中其apache的`文档根目录`被设置为`/Applications/XAMPP/htdocs`,接下来我们进入此根目录并将TP6下载到此目录下: 首先进行权限的相关设定**(很重要)**,然后进入xampp的htdoc文件夹后,使Composer下载安装TP6. 执行命令如下: ```bash sudo chmod -R 777 /Applications/XAMPP/htdocs cd /Applications/XAMPP/htdocs composer create-project topthink/think=6.0.6 tp6 ``` 执行示例如下: ```bash # 设置权限 panjiedeMac-Pro:~ panjie$ sudo chmod -R 777 /Applications/XAMPP/htdocs # 进入绑定了http服务的htdocs文件夹 panjiedeMac-Pro:~ panjie$ cd /Applications/XAMPP/htdocs # 使用composer下载tp6 panjiedeMac-Pro:htdocs panjie$ composer create-project topthink/think=6.0.6 tp6 Creating a "topthink/think=6.0.6" project at "./tp6" Installing topthink/think (v6.0.6) - Downloading topthink/think (v6.0.6) ...... Use the `composer fund` command to find out more! ``` ### 修改权限 ```bash panjiedeMac-Pro:~ panjie$ sudo chmod -R 777 /Applications/XAMPP/htdocs/tp6 ``` ### Hello ThinkPHP 打开xampp,启动apache服务后,在浏览器中打开:[http://localhost/tp6/public/index.php](http://localhost/tp6/public/index.php) ![](https://img.kancloud.cn/6c/1a/6c1a7604eca0c7c60efaede9199d55a4_630x433.png) 万事开头难,恭喜你成功的迈出了第一步。 ## 虚拟机模式 ![](https://img.kancloud.cn/c1/fb/c1fb28c1d427473789200137c53d19b7_506x459.png) 先后启动xampp以及其apache服务后,点击Open Terminal,将得到一个可以操作虚拟机的shell。 ![](https://img.kancloud.cn/c2/50/c250fb9a14e16a7a48cb1d7f8ff41671_1141x361.png) 在该shell下运行的一切命令都是针对虚拟机的。我们当然可以在该shell下运行一些命令从而完成虚拟机中composer的安装。 ![](https://img.kancloud.cn/c1/fb/c1fb28c1d427473789200137c53d19b7_506x459.png) 先后启动xampp以及其apache服务后,点击Open Terminal,将得到一个可以操作虚拟机的shell。 ![](https://img.kancloud.cn/c2/50/c250fb9a14e16a7a48cb1d7f8ff41671_1141x361.png) >[info] todo: 小版本号为6.0.5,应该为6.0.6 ### 下载Composer 在该shell下运行的一切命令都是针对虚拟机的。我们当然可以在该shell下运行一些命令从而完成虚拟机中composer的安装。 在shell中输入命令 `curl -sS https://getcomposer.org/installer | php`后按回车: ![](https://img.kancloud.cn/28/0f/280f592e7796795ad8a7b8591b6ae0c8_1029x251.png) 上述命令将为我们下载tp6所需的`Composer`。静心等待出现所上界面,下载完成。 ![](https://img.kancloud.cn/8b/ea/8bea383d9e49953b70a8a5560dd226ae_847x70.png) 接下来执行`mv composer.phar /usr/local/bin/composer`,该命令的作用是将下载的文件移动到`/usr/local/bin`文件夹,并重命名为`composer`。以后我们在shell中输入`composer`时,实际上执行就是这个文件。 ### 下载TP6 #### 网络加速 由于众所周知的原因,在不进行加速的情况下,composer通常很难正常的运行。我们可以在shell中使用以下命令`composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/`以解决由于网络原因造成的composer下载失败问题。 ![](https://img.kancloud.cn/84/18/84181345ae909835e439e0dce2c667b1_1133x154.png) 出现该提示后输入`yes`,然后按回车。 #### 下载 xampp中的apache有个叫`文档根目录`的东西,要成功的运行TP6则需要将其下载到apache的`文档根目录`中。在当前虚拟机中其apache的`文档根目录`被设置为`/opt/lampp/htdocs`,接下来我们进入此根目录并将TP6下载到此目录下: 1. 进入apache根目录:输入`cd /opt/lampp/htdocs`后回车. 2. 使用Composer下载安装TP6的6.0.6版本至此目录,并重新命名为`tp6`: 输入`composer create-project topthink/think=6.0.6 tp6`回车。 >[success] 截止至当前教程撰写时,TP6的最新版本为 6.0.6。在学习过程中,不要太纠结这个小版本号,教程中我们主要是交流一种思想。本教程学习完毕后,相信你完全有能力借助官方文档使用最新版本的TP6来开发自己的应用。 此时将下载`ThinkPHP的6.0.6版本`至当前的`tp6`文件夹。下载过程中打印的日志部分如下: ```shell root@debian:/opt/lampp/htdocs# composer create-project topthink/think=6.0.6 tp6 Do not run Composer as root/super user! See https://getcomposer.org/root for details Continue as root/super user [yes]? yes Creating a "topthink/think=6.0.6" project at "./tp6" Installing topthink/think (v6.0.6) ... Updating dependencies Lock file operations: 15 installs, 0 updates, 0 removals - Locking league/flysystem (1.1.3) .... Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 15 installs, 0 updates, 0 removals - Downloading psr/cache (1.0.1) - Downloading league/mime-type-detection (1.5.1) .... 12 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files > @php think service:discover Succeed! > @php think vendor:publish Succeed! 6 packages you are using are looking for funding. Use the `composer fund` command to find out more! ``` >[info] 我们在此并没有使用官方提供的`php think run`的运行方式。 #### Hello ThinkPHP ![](https://img.kancloud.cn/e6/b8/e6b87e27ad9a0fa2be260915df1881ee_466x264.png) 点击Go to Application将自动打开浏览器。 ![](https://img.kancloud.cn/ea/73/ea7395f4177e4b7b915970b1a480857e_1256x441.png) 比如我此时打开的地址为:`http://192.168.64.2/dashboard/`,则将`dashboard`替换为`tp6/public/index.php`,即:`http://192.168.64.2/tp6/public/index.php`。 ![](https://img.kancloud.cn/86/95/869594e7da3f9cdcfe9038356234e959_614x428.png) 在浏览器中访问`http://192.168.64.2/tp6/public/index.php`出现如上界面,TP6安装成功! >[warning] 注意:你打的地址可能并不以192.168.64.2打头,那么此时你不能照抄教程中的地址。而将192.168.64.2换成你的。 ### 发生了什么 composer是一款管理PHP软件依赖工具(Composer is a tool for dependency management in PHP.),相当于我们电脑上运行的`软件管家`。在没有软件管家以前,一个新的系统我们需要手动的安装各种软件,负责任的说这很麻烦、很费心。自从有了软件管家,安装软件变成了一件非常轻构的事件。 > 吐嘈百度:虽然我们可爱的小超同学已经入职百度有10个年头了,但还是不得不吐嘈一下。往往在下载一些软件时,百度总会把一些牛马不相关的垃圾软件推送给用户。这电脑越用越慢,百度绝对起了很大的作用。 同样的, PHP下也有很多的软件(包),tp6就是其中的一个。composer就是PHP下的软件管家,我们可以通过composer来快速的完成tp6的下载安装。 本节中我们使用了curl命令来下载到了一个composer,然后将其移动到了特定的位置,以使其能够在虚拟的任意位置输入`composer`时都不会报`命令未找到`的异常。 目录`/opt/lampp/htdocs`则是apache这个商铺的`货架`。想让顾客能够查看到,则需要将商品上线到`/opt/lampp/htdocs`这个`货架`上。上货后apache提供根据货品位置、名称来访问货口的规则,所以最终我们通过`http://192.168.64.2/tp6/public/`来访问到了特定的商品,该商品即为tp6展现给我们的欢迎信息。 ### 修改权限 由于虚拟机liunx的权限限制,我们在编写代码前首先需要对文件夹权限进行修改。 ![](https://img.kancloud.cn/c1/fb/c1fb28c1d427473789200137c53d19b7_506x459.png) 打开shell后输入`chmod 777 -R /opt/lampp/htdocs/tp6/`后回车。 ![](https://img.kancloud.cn/18/74/1874d9d14c60723f3f1344bce16c582c_771x76.png) 权限修改完毕。