linux 安装及使用 composer

2022-06-08 10:04:24 浏览数 (1)

开始安装:

1:下载 composer 包:

代码语言:javascript复制
curl -sS https://getcomposer.org/installer | php
复制代码

报错内容:

代码语言:javascript复制
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
 
The suhosin.executor.include.whitelist setting is incorrect.
Add the following to the end of your `php.ini` or suhosin.ini (Example path [for Debian]: /etc/php5/cli/conf.d/suhosin.ini):
    suhosin.executor.include.whitelist = phar
 
The php.ini used by your command-line PHP is: /etc/php.ini
If you can not modify the ini file, you can also run `php -d option=value` to modify ini values on the fly. You can use -d multiple times.
复制代码

报错的原因是我 php 安装了 suhosin 扩展,解决方法,报错中已给出,就是在 php.ini 文件中添加

代码语言:javascript复制
suhosin.executor.include.whitelist = phar
复制代码

2:安装 Composer

代码语言:javascript复制
mv composer.phar /usr/local/bin/composer
复制代码

3:查看安装 Composer 是否成功

代码语言:javascript复制
composer -v
复制代码

4:设置中国镜像

代码语言:javascript复制
composer config -g repo.packagist composer https://packagist.phpcomposer.com
复制代码

报错:

代码语言:javascript复制
Do not run Composer as root/super user! See https://getcomposer.org/root for details
复制代码

报错原因:使用 root 用户运行 composer 是不可以的。

官网给出的解释:

代码语言:javascript复制
https://getcomposer.org/doc/faqs/how-to-install-untrusted-packages-safely.md
复制代码

解决方法很容易,给你的服务器添加另一个用户,使用新用户来操作 composer

5:安装 thinkphp5.1

代码语言:javascript复制
composer create-project topthink/think tp5
复制代码

报错:

代码语言:javascript复制
PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 3194636 bytes) in phar:///usr/local/bin/composer/src/Composer/Cache.php on line 94
 
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3194636 bytes) in phar:///usr/local/bin/composer/src/Composer/Cache.php on line 94
复制代码

解决方法:

终端报出了 Allowed memory size of 134217728 bytes exhausted 错误,是因为 php 默认内存限制是 128M,所以需要修改 php.ini 文件。

查找到 memory_limit = 128M 这一行,将 128M 改大点,我这里直接是改成了 2048M。  2、重启 apache 3、重新执行 php 文件,成功,OK

更新方法跟 windows 一样

进入应用根目录,执行:

代码语言:javascript复制
composer update topthink/framework
复制代码

更新操作会删除 thinkphp 目录重新下载安装新版本,但不会影响 application 目录,因此不要在核心框架目录添加任何应用代码和类库。

安装和更新命令所在的目录是不同的,更新必须在你的应用根目录下面执行

执行

代码语言:javascript复制
composer dump-autoload
复制代码

报错

解决方式:

  1. 核对项目中的供应商文件夹。rm -rf vendor/
  2. 核对项目中的 composer.lock 文件。rm composer.lock
  3. 清除项目中的 composer 缓存。composer clearcache
  4. 全局更新编辑器以使其平滑 composer global update
  5. 然后在项目中重新安装。composer install

有好的建议,请在下方输入你的评论

源码附件已经打包好上传到百度云了,大家自行下载即可~

代码语言:javascript复制
链接: https://pan.baidu.com/s/14G-bpVthImHD4eosZUNSFA?pwd=yu27
提取码: yu27

百度云链接不稳定,随时可能会失效,大家抓紧保存哈。

如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~

开源地址

码云地址: http://github.crmeb.net/u/defu

Github 地址: http://github.crmeb.net/u/defu

0 人点赞