我尝试在生产机器上安装作曲家但不断收到许多错误。
我正在按照这个网站上的教程
https://linuxize.com/post/how-to-install-and-use-composer-on-ubuntu-18-04/ 安装。
但是当我运行这个命令时
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
我收到以下错误。
我删除了旧安装,因为每次尝试时composer update
都会出现内存错误。所以我尝试更新 Composer,但现在我的机器甚至无法安装 Composer。
我的 VPS 有
- 我有 1 个 CPU
- 50G硬盘
- 2 GB 内存
答案1
这是使用 Composer 时常见陷阱的列表以及如何避免它们。
内存限制错误
Composer 有时可能会执行某些命令失败并显示以下消息:
PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted <...>
memory_limit
这种情况下应该增加PHP 。
笔记:Composer 在内部将
memory_limit
增加到1.5G
。
要获取当前memory_limit
值,请运行:
php -r "echo ini_get('memory_limit').PHP_EOL;"
尝试增加文件中的限制php.ini
(例如,/etc/php5/cli/php.ini
对于类似 Debian 的系统):
; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1
Composer 还遵守环境变量定义的内存限制COMPOSER_MEMORY_LIMIT
:
COMPOSER_MEMORY_LIMIT=-1 composer.phar <...>
或者,您可以使用命令行参数增加限制:
php -d memory_limit=-1 composer.phar <...>
当激活 shell fork bomb 保护时,此问题也可能发生在 cPanel 实例上。有关更多信息,请参阅文档cPanel 网站上的 fork bomb 功能。
答案2
sudo su
dpkg -l| grep -v 'ii'| less
rc - means that the package was deleted, but the configuration files remained
ic - means that the package is installed, but no configuration files are configured
dpkg --audit
dpkg --get-selections | grep hold
While there is no built in way to remove all of your configuration information from your removed packages you can remove all configuration data from every removed package with the following command.
dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge