其他教程

其他教程

Products

当前位置:首页 > 其他教程 >

PHP开发环境——Composer 的安装与使用

GG网络技术分享 2025-03-18 16:14 0


大家好,这里是关于[whmcs更新报错:Cannot create cache directory /home/www/.composer/cache/repo/https—releases.whmcs.com-v2/],[PHP开发环境——Composer 的安装与使用]问题的解答,希望对您有所帮助。如果你还想了解更多这方面的信息,请关注本站其他相关内容,共同学习吧!

whmcs更新报错:Cannot create cache directory /home/www/.composer/cache/repo/https—releases.whmcs.com-v2/

教程大全whmcs,whmcs更新

whmcs更新报错:Cannot create cache directory /home/www/.composer/cache/repo/https—releases.whmcs.com-v2/

今天打算写一些whmcs相关的教程,然后看了下我的程序版本挺老了,所以想更新下。

我是在后台直接点击顶部的更新来更新的。

更新时发现更新不了,报出了错误。

详细报错如下:

Cannot create cache directory /home/www/.composer/cache/repo/https---releases.whmcs.com-v2/, or directory is not writable. Proceeding without cache Cannot create cache directory /home/www/.composer/cache/files/, or directory is not writable. Proceeding without cache [ErrorException] is_dir(): open_basedir restriction in effect. File(/home/www/.composer) is not within the allowed path(s): (/www/wwwroot/www.skloong.com/:/tmp/:/proc/) update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [-i|--interactive] [--root-reqs] [--] []...

解决办法:

这个报错意思是无法创建/home/www/.composer/cache/repo/https—releases.whmcs.com-v2/这个缓存目录,当时我以为是宝塔防跨站攻击开启的问题,关闭了发现还不行。然后就去看了下目录权限,发现/home/www/这个目录的权限是700,大致就猜到问题了。将目录改为777权限,用户组还是原来的www。

破解版更新后许可授权会失效。把License.php重新覆盖一次就可以了。

whmcs7.x开心版破解版文件License.php

PHP开发环境——Composer 的安装与使用

Composer 是 PHP 的包管理(依赖管理)工具,类似 node.js 的 npm 。如果在一个PHP项目中一些库依赖于其他库,就声明所依赖的库,Composer 就会找出相应版本的包并安装,默认情况下下载到项目的某个目录中(例如 vendor)进行安装。使用 Composer 可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。

一、检查 PHP 环境

首先要确保已经安装好了 PHP 环境,在命令行输入命令:php -v 要能正确输出版本号信息。

然后在Linux系统中下载 composer.phar ,移动到全局目录中并改名为 composer ,就可以全局调用 composer 了。

二、下载 Composer。

首先下载安装脚本 composer-setup.php 到当前目录,然后执行安装,简单地检测 php.ini 中的参数设置,如果某些参数未正确设置则会给出警告。

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

php composer-setup.php

php -r "unlink('composer-setup.php');"

三、全局安装 composer

在 Linux 环境中,用以下命令下载最新版本的 composer.phar 文件到当前目录。然后移动到 /usr/local/bin 目录并更改名称为 composer ,这样就可以全局运行 composer 了。

curl -sS https://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer

用 composer --version 命令查看 composer 版本,或直接用 composer 命令查看。

四、配置 composer 源地址

由于网络原因,默认的官方 php 源码包在国内速度很慢,需要更换为国内镜像,参数 -g 表示全局配置。按自己的网络情况选择一个速度比较快的。

#阿里云

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

#腾讯云

composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/

#中国全量镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

查看 composer 全局配置命令:

composer config -l -g

查看全局配置,可以看到仓库 URL 地址 repositories.packagist.org.url 已经变成了阿里云的镜像。

如果需要解除镜像并恢复到 packagist 官方仓库,就用 composer 默认值重置源地址。命令如下:

composer config -g --unset repos.packagist

五、用 composer 配置 Laravel 项目示例

composer create-project --prefer-dist laravel/laravel my_site_dir "7.2.*"

laravel/laravel:composer 安装包的名称,表示创建一个 laravel 项目

my_site_dir:项目目录

--prefer-dist:使用压缩版

7.2.*:表示要安装的 laravel 版本

六、问题排除

1、警告信息:

解决方法:

某些 Composer 命令(包括exec,install和update)允许第三方代码在您的系统上执行。 这来自其“插件”和“脚本”功能。 插件和脚本对运行Composer的用户帐户具有完全访问权限。 因此,强烈建议避免以超级用户/ root身份运行Composer。

您可以在包安装或更新期间使用以下语法禁用插件和脚本,以便只执行Composer的代码,而不执行第三方代码

composer install --no-plugins --no-scripts ...

composer update --no-plugins --no-scripts ...

官方文档:https://getcomposer.org/doc/faqs/how-to-install-untrusted-packages-safely.md


2、警告信息:

解决方法:

表示系统需要安装 unzip ,在 CentOS 中安装命令:yum install -y unzip zip


七、github 访问速度慢的问题

1、命令提示符中输入 ping github.com,查看 IP 地址,简单测试一下访问 github 的情况。

2、获取 Github 相关网站的 ip

访问 https://www.ipaddress.com,在搜索框内分别输入 github.global.ssl.fastly.net 和 github.com,查询 IP 地址,得到如下 IP 和域名的映射关系:(不同的网络查询到的结果可能不一致,以自己查询到的结果为准。)

140.82.113.3 github.com

140.82.113.3 www.github.com

140.82.112.5 api.github.com

199.232.69.194 github.global.ssl.fastly.net

3、修改本地hosts文件

A. Windows 系统的 hosts 文件是: C:\\Windows\\System32\\drivers\\etc\\hosts(此文件没有扩展名)

以管理员身份运行记事本文本编辑器,编辑 hosts 文件,在末尾增加上一步查询到的 IP 地址与 Github 相关网站映射。

B. Linux 系统的 hosts 文件是: /etc/hosts,编辑此文件:vi /etc/hosts ,在末尾增加上一步查询到的 IP 地址与 Github 相关网站映射。

4、刷新DNS缓存,立即生效

A. 在 windows 中打开 cmd,运行命令:ipconfig /flushdns

B. 在 Linux 中运行命令:/etc/init.d/network restart

5、命令提示符中输入 ping github.com,简单测试修改后的效果。


八、Composer 的使用


1、composer 包依赖关系

项目目录下的 composer.json 文件,其中必须的是 require 项,描述了项目的依赖关系。此时只要运行 composer install 就可以安装 requiere 项中所有的依赖包。冒号后的符号及数字是版本约束。

// laravel项目的 composer.js 示例

{

"require": {

"php": "^7.1.3",

"barryvdh/laravel-debugbar": "^3.2",

"barryvdh/laravel-ide-helper": "^2.6",

"fideloper/proxy": "^4.0",

"fruitcake/laravel-cors": "^2.0",

"kalnoy/nestedset": "^5.0",

"laravel/framework": "^6.0",

"laravel/passport": "^7.2"

}

}

2、require 命令

如果没有在 composer.json 文件手动添加某个依赖包信息,但是要快速安装此依赖包时,可以使用 require 命令。

# requier 命令示例

composer require fruitcake/laravel-cors

3、update 更新包命令

# 按照 composer.json 文件,更新所有的依赖包

composer update

# 更新指定的包

composer update laravel/passport

# 更新指定的多个包

composer update laravel/passport fruitcake/laravel-cors

# 通过通配符匹配包,即更新 Laravel/ 下的项目依赖的所有的包

composer update laravel/*

4、remove 命令

移除一个包及其依赖,如果依赖被其他包使用,则无法移除。


5、search 命令:

搜索包,输出包及其描述信息,如果只想输出包名可以使用 --only-name 参数


6、show 命令

列出当前项目使用到包的信息:

# 列出所有已经安装的包

composer show

# 通过通配符进行筛选

composer show laravel/*

# 显示具体某个包的信息

composer show laravel/passport

7、清除缓存命令

composer clearcache


----------END----------

标签:

提交需求或反馈

Demand feedback