### Shopify app开发服务器说明 开发shopify app 我们需要有一个可以对外访问的服务器,当然,你也可以使用花生壳等软件做内网穿透。要求只有一个,你写的接口可以被shopify的服务器访问到。 <br> **提示:** 如果大家没有线上服务器,想要本地开发,参考章节:"内网穿透-ngrok" ,讲解如何结合ngrok与phpstudy本地开发shopify应用。 <br> ### 创建thinkphp项目 在服务器的web根目录下创建一个shopify的目录 spf: ```asp /var/www/html/spf ``` #### 初始化thinkphp项目 **1.选择ThinkPHP版本** 查看php版本: ```asp [root@153 /var/www/html/spf]# php -v PHP 7.2.0 (cli) (built: Aug 5 2020 03:06:36) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies ``` 访问php官网:[thinkphp.cn](http://thinkphp.cn) THINKPHP最新版本6.0提示要求php版本最低为7.2.5 ![](https://img.kancloud.cn/6b/59/6b597610c686c30bf59a7f091ba919fc_876x328.png =1000x) 看来我们的服务器环境不符合ThinkPHP6版本的要求。 我们再来看一下ThinkPHP5.1对于php版本的要求: ![](https://img.kancloud.cn/9a/dd/9add45a64a9238b9d3295422a1c5e913_1102x379.png =1000x) 为了方便开发,我们这里就不再去折腾服务器的php环境,就选择安装ThinkPHP5.1版本。 **2.安装ThinkPHP** 根据手册的安装提示,我们执行composer命令安装: ```asp composer create-project topthink/think=5.1.* myapp ``` 项目创建完后,查看项目目录: ```asp [root@153 /var/www/html/spf/myapp]# ls -l 合計 96 -rw-r--r-- 1 root root 36799 1月 11 11:58 2021 CHANGELOG.md -rw-r--r-- 1 root root 1822 1月 11 11:58 2021 LICENSE.txt -rw-r--r-- 1 root root 6772 1月 11 11:58 2021 README.md drwxr-xr-x 3 root root 4096 1月 11 11:58 2021 application -rw-r--r-- 1 root root 1070 1月 11 11:58 2021 build.php -rw-r--r-- 1 root root 660 1月 11 11:58 2021 composer.json -rw-r--r-- 1 root root 3870 6月 4 01:43 2023 composer.lock drwxr-xr-x 2 root root 4096 1月 11 11:58 2021 config drwxr-xr-x 2 root root 4096 1月 11 11:58 2021 extend drwxr-xr-x 3 root root 4096 1月 11 11:58 2021 public drwxr-xr-x 2 root root 4096 1月 11 11:58 2021 route drwxr-xr-x 2 root root 4096 1月 11 11:58 2021 runtime -rw-r--r-- 1 root root 823 1月 11 11:58 2021 think drwxr-xr-x 5 root root 4096 6月 4 01:43 2023 thinkphp drwxr-xr-x 4 root root 4096 6月 4 01:43 2023 vendor ``` 安装成功. 访问我们安装的thinkphp项目:[http://ip](http://ip):port/spf/myapp/public/ ![](https://img.kancloud.cn/ff/08/ff083513941f0d3a15928af880773569_1270x641.png =1000x) ### Windows编辑服务器文件 vscode安装SFTP插件: ![](https://img.kancloud.cn/2c/57/2c57304ba1228b8b045408986fa8a0a1_898x436.png =1000x) 打开vscode的命令控制台,输入 sftp: ![](https://img.kancloud.cn/3c/0a/3c0a5ec6d65f56dd9baaa605fbd1e6e0_1019x527.png =1000x) 配置服务器连接信息: ```asp { "name": "shopify", "host": "153.126.161.135", "protocol": "sftp", "port": 22, "username": "root", "password":"98fX32x34eI+1", "remotePath": "/var/www/html/spf/myapp", "uploadOnSave": true } ``` 右键项目目录,Download. ![](https://img.kancloud.cn/d9/89/d98982c19715cf14a957d65cd9a487a7_602x678.png =1000x) 等待代码下载好之后,我们就能在Windows电脑上看到所有服务器的文件: ![](https://img.kancloud.cn/f5/8b/f58b11360e2ac3bc443f3f38d7f783a2_410x315.png =1000x) ### 测试 我们编辑一下默认的首页控制器的index方法: application\\index\\controller\\Index.php ```asp <?php namespace app\index\controller; class Index { public function index() { return 'hello shopify'; } public function hello($name = 'ThinkPHP5') { return 'hello,' . $name; } } ``` 访问url测试: ![](https://img.kancloud.cn/71/c1/71c15ad5d061cc7050ace6dfaa9599e0_710x218.png =1000x) 这样我们就可能通过使用FTP的方式,在Windows环境下,编辑Linux服务器的文件了。 > 注意: > 前面配置SFTP插件的这一项:"uploadOnSave": true,表示每次编辑完文件保存后,将自动上传到服务器,不用手动上传。 ### 小结: 本小节我们安装了ThinkPHP框架,并配置好了vscode如何去编辑服务器文件。这样我们在开发shopify的前期准备功能就基本完成,后面我们将会基于这个项目去实现与shopify的接口进行通信、交互等。 在开发shopify应用时,并不要求服务端一定是这个架构,你可以选择任何一门后端开发语言,只要可以提供web可访问的能力即可。 我们这里方便大家学习,选择最易上手的ThinkPHP做为后端框架,本质上我们要学习的并非PHP框架怎么用,而是学习怎么与shopify开发进行数据交互。