安装Redis
若项目依赖redis,注意要在php管理器中安装redis扩展
下载phalapi
官方仓库https://github.com/phalapi/phalapi/tree/master-2x
下载zip压缩包并解压。
若电脑打不开文件包下载,可以尝试用手机去下载。
将phalapi-master-2x目录上传到服务器的指定目录下。
进入指定目录
打开宝塔SSH终端,进入欲安装的目录
cd /www/wwwroot/api.jidongyun.cn/phalapi-master-2x
安装Composer
执行如下命令,安装composer.phar
curl -sS https://getcomposer.org/installer | php
等待半分钟,可以看到目录下多了“composer.phar”文件。说明已经安装好了。
安装过程如下:
All settings correct for using Composer
Downloading...
Composer (version 1.10.1) successfully installed to: /www/wwwroot/api.jidongyun.cn/composer.phar
Use it: php composer.phar
如果运行时报错:
The installation directory "/www/wwwroot/api.goldarts.cn/phalapi-master-2x" is not writable
是因为运行目录的权限不足导致的。
需要在宝塔设置该目录的公共权限。
最好设置为777权限,以免后续出现各种“Permission denied”报错。
查看composer信息
php composer.phar
查询结果如下:
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.10.1 2020-03-13 20:34:27
...
禁用函数
若使用查询命令报错,需检查php配置中‘putenv’这个含是否被禁用。禁用后可能会出现如下错误:
pi@raspberrypi:/www/wwwroot/api.goldarts.cn/phalapi-master-2x $ php composer.phar
PHP Fatal error: Uncaught Error: Call to undefined function Composer\XdebugHandler\putenv() in phar:///www/wwwroot/api.goldarts.cn/phalapi-master-2x/composer.phar/vendor/composer/xdebug-handler/src/Process.php:160
Stack trace:
#0 phar:///www/wwwroot/api.goldarts.cn/phalapi-master-2x/composer.phar/vendor/composer/xdebug-handler/src/Status.php(47): Composer\XdebugHandler\Process::setEnv()
#1 phar:///www/wwwroot/api.goldarts.cn/phalapi-master-2x/composer.phar/vendor/composer/xdebug-handler/src/XdebugHandler.php(77): Composer\XdebugHandler\Status->__construct()
#2 phar:///www/wwwroot/api.goldarts.cn/phalapi-master-2x/composer.phar/bin/composer(16): Composer\XdebugHandler\XdebugHandler->__construct()
#3 /www/wwwroot/api.goldarts.cn/phalapi-master-2x/composer.phar(24): require('...')
#4 {main}
thrown in phar:///www/wwwroot/api.goldarts.cn/phalapi-master-2x/composer.phar/vendor/composer/xdebug-handler/src/Process.php on line 160
此外,还需查询以下函数是否禁用:
proc_open
exec
shell_exec
更新版本
composer selfupdate
结果如下:
Updating to version 1.10.1 (stable channel).
Downloading (100%)
Use composer self-update --rollback to return to version 1.9.1
查看版本号
composer --version
结果如下:
Composer version 1.10.1 2020-03-13 20:34:27
使用 Composer
确保你的项目目录下,存在“composer.json”文件。如果没有的话,按照指定格式新建一个。
然后执行install命令:
php composer.phar install
由于git仓库的文件,都保存在国外的服务器。所以同步的时间会稍长。
执行结果如下:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing api/jwt (dev-master 45c22a1): Cloning 45c22a1d70
Writing lock file
Generating autoload files
执行完成后,项目目录下会多出一个“composer.lock”文件。
也可能出现执行失败的情况,报“Content-Length mismatch”错误
[Composer\Downloader\TransportException]
Content-Length mismatch, received 1183 bytes out of the expected 1503698
查看一下当前项目的composer镜像
composer config -l
当前使用的镜像可能有问题。所以需要更换镜像
需要注意的是,更换镜像不要进行全局更换的命令,而是要针对这个项目去更换镜像
所以,要在这个项目的根目录下,也就是composer.json的路径下
针对这个项目更换镜像。使用阿里云镜像
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
更换镜像后,再执行install命令即可。
使用阿里云的镜像,也有可能出现以下报错
[Composer\Downloader\TransportException]
The "https://mirrors.aliyun.com/composer/p/provider-2017%248b8b2c1627e2216d9b910bf3d8218b05804048e6ee6c09746f82e0b39532964a.json" file could not be downloaded (HTTP/1.1 404 Not Found)
遇到阿里云镜像报错的,可以切换到腾讯云的镜像
composer config repo.packagist composer https://mirrors.cloud.tencent.com/composer/
更新目录和依赖
如果需要更新目录,可以执行如下命令:
php composer.phar update
或者
composer update
如果没有需要更新的文件,结果如下:
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
需要注意的是,由于依赖文件都存在国外的服务器上,更新过程有时候会出现各种莫名其妙的报错提示,甚至是无法更新。
遇到这种情况,可以多试几次,或者等待一段时间再试。
也可以换一个源,再次进行update操作。
如果是定制的插件,或者自己开发的插件,上传后需要次日才能update。
所以,如果不是致命的报错,只要能正常开发,可以忽略。
参考资料
https://www.likecs.com/show-307875543.html
https://baijiahao.baidu.com/s?id=1722410774183692026&wfr=spider&for=pc
https://pkg.xyz/
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » 使用composer来安装和更新PhalApi 2.x