{"id":956,"date":"2023-09-28T23:13:55","date_gmt":"2023-09-28T15:13:55","guid":{"rendered":"https:\/\/blog.nonot.cn\/?p=956"},"modified":"2023-09-28T23:54:50","modified_gmt":"2023-09-28T15:54:50","slug":"composer%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b","status":"publish","type":"post","link":"https:\/\/blog.nonot.cn\/index.php\/2023\/09\/28\/composer%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b\/","title":{"rendered":"Composer\u5b89\u88c5\u6559\u7a0b"},"content":{"rendered":"<div class=\"ui readme markdown-body content-body article-content fluidbox-content\">\n<div class=\"toc-wraper ui card column author-box grid pt-2\" style=\"display: none;\"><a class=\"close-toc pull-right\" style=\"width: 20px; position: absolute; right: 7px; top: 3px; margin-bottom: 20px;\"><br \/>\n<i class=\"icon remove text-mute \"><\/i><br \/>\n<\/a><\/div>\n<blockquote><p><strong>\u4ecb\u7ecd\uff1a<\/strong> <a href=\"https:\/\/www.phpcomposer.com\/\" rel=\"nofollow noopener noreferrer\">Composer<\/a> \u662f PHP \u7528\u6765\u7ba1\u7406\u4f9d\u8d56\uff08 dependency \uff09\u5173\u7cfb\u7684\u5de5\u5177\u3002\u4f60\u53ef\u4ee5\u5728\u81ea\u5df1\u7684\u9879\u76ee\u4e2d\u58f0\u660e\u6240\u4f9d\u8d56\u7684\u5916\u90e8\u5de5\u5177\u5e93\uff08 libraries \uff09\uff0c Composer \u4f1a\u5e2e\u60a8\u5b89\u88c5\u8fd9\u4e9b\u4f9d\u8d56\u7684\u5e93\u6587\u4ef6\u3002<\/p><\/blockquote>\n<h1 id=\"ad2277\"><a class=\"reference-link\" name=\"(\u4e00)Window\u5b89\u88c5\"><\/a>(\u4e00) Window \u5b89\u88c5<a class=\"anchorific\" style=\"display: none;\" href=\"#ad2277\">#<\/a><\/h1>\n<h2 id=\"9c8f36\"><a class=\"reference-link\" name=\"1.1 \u4e0b\u8f7dComposer\"><\/a>1.1 \u4e0b\u8f7d Composer<a class=\"anchorific\" style=\"display: none;\" href=\"#9c8f36\">#<\/a><\/h2>\n<p><a href=\"https:\/\/getcomposer.org\/\" rel=\"nofollow noopener noreferrer\">Composer<\/a> \u5b98\u7f51\u4e0b\u8f7d <a href=\"https:\/\/getcomposer.org\/Composer-Setup.exe\" rel=\"nofollow noopener noreferrer\">Composer.exe<\/a> \u5e94\u7528<\/p>\n<h2 id=\"66d9fd\"><a class=\"reference-link\" name=\"1.2 \u5b89\u88c5Composer\"><\/a>1.2 \u5b89\u88c5 Composer<a class=\"anchorific\" style=\"display: none;\" href=\"#66d9fd\">#<\/a><\/h2>\n<blockquote><p>\u4e0b\u8f7d\u7684\u7248\u672c\u4e3a\u6700\u65b0\u7684 Composer \u7248\u672c\u5e76\u4e14\u4f1a\u81ea\u52a8\u8bbe\u7f6e PATH \u73af\u5883\u53d8\u91cf\uff0c\u8fd9\u6837\u60a8\u5c31\u53ef\u4ee5\u4ece\u4efb\u4f55\u76ee\u5f55\u8c03\u7528 Composer<\/p><\/blockquote>\n<ul>\n<li><strong>\u6839\u636e\u672c\u5730 php \u914d\u7f6e\u7684\u7248\u672c\u9009\u62e9<\/strong> \uff0c\u7136\u540e\u4e00\u8def\u4e0b\u4e00\u6b65\u5b89\u88c5\u5373\u53ef<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/blog.nonot.cn\/wp-content\/uploads\/replace\/fedd3260492856e0f7fd8de1dc434b87.png\" alt=\"Composer\u5b89\u88c5\u6559\u7a0b\" \/><\/p>\n<ul>\n<li><strong>\u5168\u5c40\u914d\u7f6e<\/strong><\/li>\n<\/ul>\n<p>\u2460\u641c\u7d22 \u201cpath\u201d\u2014&gt; \u6253\u5f00 \u201c\u7f16\u8f91\u7cfb\u7edf\u73af\u5883\u53d8\u91cf\u201d\u2014\u201c\u73af\u5883\u53d8\u91cf\u201d<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.nonot.cn\/wp-content\/uploads\/replace\/4300b0dc8a4179b7cfee5295b28230da.png\" alt=\"Composer\u5b89\u88c5\u6559\u7a0b\" \/><\/p>\n<p>\u2461\u914d\u7f6e Administrator \u7528\u6237\u53d8\u91cf<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.nonot.cn\/wp-content\/uploads\/replace\/242ced8da8c5d7ed8129295bdea17749.png\" alt=\"Composer\u5b89\u88c5\u6559\u7a0b\" \/><br \/>\n<img decoding=\"async\" src=\"https:\/\/blog.nonot.cn\/wp-content\/uploads\/replace\/5be3062926e0ac1005d2817edd56d373.png\" alt=\"Composer\u5b89\u88c5\u6559\u7a0b\" \/><\/p>\n<h2 id=\"db658f\"><a class=\"reference-link\" name=\"1.3 \u5b89\u88c5\u6210\u529f\"><\/a>1.3 \u5b89\u88c5\u6210\u529f<a class=\"anchorific\" style=\"display: none;\" href=\"#db658f\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\"><span class=\"token comment\"># win+R \u8f93\u5165cmd \u8fdb\u5165<\/span>\r\nC:UsersAdministrator<span class=\"token operator\">&gt;<\/span>composer\r\n ______\r\n \/ ____\/___  ____ ___  ____  ____  ________  _____\r\n \/ \/   \/ __ \/ __ `__ \/ __ \/ __ \/ ___\/ _ \/ ___\/\r\n\/ \/___\/ \/_\/ \/ \/ \/ \/ \/ \/ \/_\/ \/ \/_\/ <span class=\"token punctuation\">(<\/span>__  <span class=\"token punctuation\">)<\/span>  __\/ \/\r\n____\/____\/_\/ \/_\/ \/_\/ .___\/____\/____\/___\/_\/\r\n \/_\/\r\nComposer version 2.1.9 2021-10-05 09:47:38<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h1 id=\"6e2421\"><a class=\"reference-link\" name=\"(\u4e8c)Linux\u5b89\u88c5\"><\/a>(\u4e8c) Linux \u5b89\u88c5<a class=\"anchorific\" style=\"display: none;\" href=\"#6e2421\">#<\/a><\/h1>\n<h2 id=\"3e7709\"><a class=\"reference-link\" name=\"2.1 \u4e0b\u8f7dComposer\"><\/a>2.1 \u4e0b\u8f7d Composer<a class=\"anchorific\" style=\"display: none;\" href=\"#3e7709\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">**<span class=\"token comment\"># \u8fdb\u5165\u6839\u76ee\u5f55\u4e0b\u8f7d** <\/span>\r\n<span class=\"token punctuation\">[<\/span>root@VM-12-9-centos \/<span class=\"token punctuation\">]<\/span> <span class=\"token function\">curl<\/span> -sS https:\/\/getcomposer.org\/installer <span class=\"token operator\">|<\/span> php\r\nComposer <span class=\"token punctuation\">(<\/span>version 2.1.9<span class=\"token punctuation\">)<\/span> successfully installed to: \/\/composer.phar\r\nUse it: php composer.phar <span class=\"token comment\">#\u4e0b\u8f7d\u6210\u529f<\/span>\r\n\u200b\r\n<span class=\"token comment\">#\u53cb\u60c5\u63d0\u793a\uff1a\u4e0b\u8f7d\u56e0\u4e3a\u662f\u5916\u7f51\u53ef\u80fd\u4f1a\u51fa\u73b0\u8bf7\u6c42\u5931\u8d25\u7684\u60c5\u51b5\uff0c\u8010\u5fc3\u591a\u5c1d\u8bd5\u4e0b\u5c31\u6210\u529f\u4e86<\/span><\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<ul>\n<li>\u5982\u679c<strong>\u4e0b\u8f7d\u9891\u7e41\u5931\u8d25<\/strong> \uff0c\u5219\u53ef\u4ee5\u4f7f\u7528\u963f\u91cc\u4e91\u7684\u955c\u50cf\u4e0b\u8f7d<\/li>\n<\/ul>\n<blockquote><p>#\u672c\u955c\u50cf\u4e0e Packagist \u5b98\u65b9\u5b9e\u65f6\u540c\u6b65\uff0c\u63a8\u8350\u4f7f\u7528\u6700\u65b0\u7684 Composer \u7248\u672c<br \/>\n[root@VM-12-9-centos \/] curl -sS <a href=\"https:\/\/mirrors.aliyun.com\/composer\/composer.phar\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">mirrors.aliyun.com\/composer\/compos&#8230;<\/a><\/p><\/blockquote>\n<h2 id=\"94b1e7\"><a class=\"reference-link\" name=\"2.2 \u5168\u5c40\u914d\u7f6e\"><\/a>2.2 \u5168\u5c40\u914d\u7f6e<a class=\"anchorific\" href=\"#94b1e7\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\"><span class=\"token comment\"># \u590d\u5236composer.phar\u5230\/usr\/local\/bin\/\u76ee\u5f55\u4e0b\u751f\u6210composer\u7684\u76ee\u5f55\uff0c\u65b9\u4fbf\u5168\u5c40\u4f7f\u7528<\/span>\r\n<span class=\"token punctuation\">[<\/span>root@VM-12-9-centos \/<span class=\"token punctuation\">]<\/span> <span class=\"token function\">mv<\/span> composer.phar \/usr\/local\/bin\/composer<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"d3c7d6\"><a class=\"reference-link\" name=\"2.3 \u66f4\u6362\u955c\u50cf\u6e90\"><\/a>2.3 \u66f4\u6362\u955c\u50cf\u6e90<a class=\"anchorific\" href=\"#d3c7d6\">#<\/a><\/h2>\n<blockquote><p>\u7531\u4e8e\u56fd\u5916\u7684\u7f51\u7ad9\u5728\u56fd\u5185\u8bf7\u6c42\u4f1a\u5f88\u6162\uff0c\u6240\u4ee5\u6211\u4eec\u53ef\u4ee5\u66f4\u6362\u56fd\u5185\u6e90\u6765\u52a0\u901f\u6e90\u7684\u4e0b\u8f7d\u3002\u56fd\u5185\u955c\u50cf\u6e90\u6709\u5f88\u591a\u79cd\uff0c\u4e0b\u9762\u5217\u4e3e\u5e38\u7528\u7684\u51e0\u79cd\uff0c\u60a8\u53ef\u4ee5\u6839\u636e\u9700\u6c42\u9009\u62e9\u5176\u4e2d\u4e00\u79cd\u5373\u53ef\u3002<\/p><\/blockquote>\n<ul>\n<li><strong>\u963f\u91cc\u4e91 Composer \u955c\u50cf<\/strong> \u3010<strong>\u63a8\u8350<\/strong> \u3011\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer config -g repo.packagist composer https:\/\/mirrors.aliyun.com\/composer\/<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<\/li>\n<li><strong>\u56fd\u5185\u4e91 Composer \u955c\u50cf <\/strong>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer config -g repo.packagist composer https:\/\/packagist.phpcomposer.com<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<\/li>\n<li><strong>\u817e\u8baf\u4e91 Composer \u955c\u50cf <\/strong>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer config -g repo.packagist composer https:\/\/mirrors.cloud.tencent.com\/composer\/<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<\/li>\n<li><strong>\u534e\u4e3a\u4e91 Composer \u955c\u50cf <\/strong>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer config -g repo.packagist composer https:\/\/repo.huaweicloud.com\/repository\/php\/<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<\/li>\n<li class=\"\"><strong>\u5b89\u7545\u4e91 Composer \u955c\u50cf <\/strong>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer config -g repo.packagist composer https:\/\/php.cnpkg.org\/<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"0e19e6\"><a class=\"reference-link\" name=\"2.4 \u5b89\u88c5\u6210\u529f\"><\/a>2.4 \u5b89\u88c5\u6210\u529f<a class=\"anchorific\" style=\"display: none;\" href=\"#0e19e6\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\"><span class=\"token punctuation\">[<\/span>root@VM-12-9-centos etc<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># composer<\/span>\r\n ______\r\n\/ ____\/___  ____ ___  ____  ____  ________  _____\r\n\/ \/   \/ __ \/ __ `__ \/ __ \/ __ \/ ___\/ _ \/ ___\/\r\n\/ \/___\/ \/_\/ \/ \/ \/ \/ \/ \/ \/_\/ \/ \/_\/ <span class=\"token punctuation\">(<\/span>__  <span class=\"token punctuation\">)<\/span>  __\/ \/\r\n____\/____\/_\/ \/_\/ \/_\/ .___\/____\/____\/___\/_\/\r\n                  \/_\/\r\nComposer version 2.1.9 2021-10-05 09:47:38<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<\/li>\n<\/ul>\n<h1 id=\"e5fdf2\"><a class=\"reference-link\" name=\"(\u4e09)Composer\u547d\u4ee4\"><\/a>(\u4e09) Composer \u547d\u4ee4<a class=\"anchorific\" href=\"#e5fdf2\">#<\/a><\/h1>\n<h2 id=\"5eade3\"><a class=\"reference-link\" name=\"3.1 \u67e5\u770b\u7248\u672c\"><\/a>3.1 \u67e5\u770b\u7248\u672c<a class=\"anchorific\" style=\"display: none;\" href=\"#5eade3\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer --version\r\n\r\n<span class=\"token comment\"># \u67e5\u770b\u7248\u672c\u4f1a\u770b\u5230\u5f53\u524d\u7248\u672c\u4ee5\u53ca\u66f4\u65b0\u65f6\u95f4<\/span>\r\n<span class=\"token punctuation\">[<\/span>root@VM-12-9-centos \/<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># composer --version<\/span>\r\nComposer version 2.1.9 2021-10-05 09:47:38<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"db3746\"><a class=\"reference-link\" name=\"3.2 \u7248\u672c\u5347\u7ea7\"><\/a>3.2 \u7248\u672c\u5347\u7ea7<a class=\"anchorific\" style=\"display: none;\" href=\"#db3746\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\"><span class=\"token comment\"># \u5347\u7ea7\u5c06\u9ed8\u8ba4\u5347\u5230\u6700\u65b0\u7248\u672c<\/span>\r\ncomposer self-update\r\n\r\n<span class=\"token comment\"># **\u53cb\u60c5\u63d0\u793a\uff1a** \u7248\u672c\u5347\u7ea7\u547d\u4ee4\u5c06\u4f1a\u4ece\u5b98\u65b9\u7248\u672c\u53bb\u4e0b\u8f7dcomposer,phar\u955c\u50cf,\u901f\u5ea6\u5c06\u53d7\u9650\uff01\u5f3a\u70c8\u5efa\u8bae\u5168\u5c40\u914d\u7f6e\u52a0\u901f\u955c\u50cf<\/span><\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"7005fc\"><a class=\"reference-link\" name=\"3.3 \u6267\u884c\u8bca\u65ad\u547d\u4ee4\"><\/a>3.3 \u6267\u884c\u8bca\u65ad\u547d\u4ee4<a class=\"anchorific\" style=\"display: none;\" href=\"#7005fc\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer diagnose<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"20e8e4\"><a class=\"reference-link\" name=\"3.4 \u6e05\u9664\u7f13\u5b58\"><\/a>3.4 \u6e05\u9664\u7f13\u5b58<a class=\"anchorific\" style=\"display: none;\" href=\"#20e8e4\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer <span class=\"token function\">clear<\/span><\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"a2b9b5\"><a class=\"reference-link\" name=\"3.5 \u9879\u76ee\u66f4\u65b0composer.lock\"><\/a>3.5 \u9879\u76ee\u66f4\u65b0 composer.lock<a class=\"anchorific\" style=\"display: none;\" href=\"#a2b9b5\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\">composer update --lock<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"17066d\"><a class=\"reference-link\" name=\"3.6 \u8c03\u8bd5\"><\/a>3.6 \u8c03\u8bd5<a class=\"anchorific\" style=\"display: none;\" href=\"#17066d\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\"><span class=\"token comment\"># **Composer\u8c03\u8bd5\u53ea\u9700\u8981\u5728\u547d\u4ee4\u524d\u52a0\u4e0a-vvv\u5c31\u53ef\u4ee5\u6253\u5370\u51fa\u9519\u4fe1\u606f** <\/span>\r\n\r\n<span class=\"token comment\"># \u4f8b\u5982\u4e0b\u8f7dlaravel\u547d\u540d\u4e3ablog\u7684\u9879\u76ee<\/span>\r\ncomposer -vvv create-project laravel\/laravel blog<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"68c141\"><a class=\"reference-link\" name=\"3.7 \u5b89\u88c5\u4f9d\u8d56\u5305\"><\/a>3.7 \u5b89\u88c5\u4f9d\u8d56\u5305<a class=\"anchorific\" href=\"#68c141\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token shell-comment comment\"># \u8be5\u547d\u4ee4\u4ec5\u9650\u5728\u9879\u76ee\u6839\u76ee\u5f55\u64cd\u4f5c<\/span>\r\ncomposer install\r\n<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"86ab7a\"><a class=\"reference-link\" name=\"3.8 \u66f4\u65b0\u4f9d\u8d56\u5305\"><\/a>3.8 \u66f4\u65b0\u4f9d\u8d56\u5305<a class=\"anchorific\" style=\"display: none;\" href=\"#86ab7a\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token shell-comment comment\"># \u8be5\u547d\u4ee4\u4ec5\u9650\u5728\u9879\u76ee\u6839\u76ee\u5f55\u64cd\u4f5c<\/span>\r\n\r\n<span class=\"token shell-comment comment\">### \u66f4\u65b0\u6240\u6709\u4f9d\u8d56\u5305<\/span>\r\ncomposer update\r\n\r\n<span class=\"token shell-comment comment\">### \u66f4\u65b0\u6307\u5b9a\u4f9d\u8d56\u5305<\/span>\r\ncomposer update monolog<span class=\"token operator\">\/<\/span>monolog\r\n\r\n<span class=\"token shell-comment comment\">### \u66f4\u65b0\u591a\u4e2a\u6307\u5b9a\u4f9d\u8d56\u5305<\/span>\r\ncomposer update monolog<span class=\"token operator\">\/<\/span>monolog symfony<span class=\"token operator\">\/<\/span>dependency<span class=\"token operator\">-<\/span>injection\r\n\r\n<span class=\"token shell-comment comment\">### \u6839\u636e\u901a\u914d\u7b26\u5339\u914d\u66f4\u65b0\u4f9d\u8d56\u5305<\/span>\r\ncomposer update monolog<span class=\"token operator\">\/<\/span>monolog symfony<span class=\"token operator\">\/<\/span><span class=\"token operator\">*<\/span>\r\n<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"ae0fc9\"><a class=\"reference-link\" name=\"3.9 \u79fb\u9664\u4f9d\u8d56\u5305\"><\/a>3.9 \u79fb\u9664\u4f9d\u8d56\u5305<a class=\"anchorific\" href=\"#ae0fc9\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token shell-comment comment\"># \u79fb\u9664\u6307\u5b9a\u4f9d\u8d56\u5305<\/span>\r\ncomposer remove monolog<span class=\"token operator\">\/<\/span>monolog\r\n\r\n<span class=\"token shell-comment comment\"># \u6839\u636e\u901a\u914d\u7b26\u5339\u914d\u79fb\u9664\u4f9d\u8d56\u5305<\/span>\r\ncomposer remove monolog<span class=\"token operator\">\/<\/span>monolog symfony<span class=\"token operator\">\/<\/span><span class=\"token operator\">*<\/span>\r\n<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"9a1d99\"><a class=\"reference-link\" name=\"3.10 \u641c\u7d22\u4f9d\u8d56\u5305\"><\/a>3.10 \u641c\u7d22\u4f9d\u8d56\u5305<a class=\"anchorific\" style=\"display: none;\" href=\"#9a1d99\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token shell-comment comment\"># \u641c\u7d22\u4f9d\u8d56\u5305\uff1a\u8f93\u51fa\u5305\u53ca\u5176\u63cf\u8ff0\u4fe1\u606f<\/span>\r\ncomposer search monolog\r\n\r\n<span class=\"token shell-comment comment\"># \u53ea\u641c\u7d22\u5305\uff1a--only-name<\/span>\r\ncomposer search <span class=\"token operator\">--<\/span>only<span class=\"token operator\">-<\/span>name monolog\r\n\r\n<span class=\"token shell-comment comment\"># \u6839\u636e\u901a\u914d\u7b26\u641c\u7d22\u4f9d\u8d56\u5305<\/span>\r\ncomposer search mono<span class=\"token operator\">*<\/span>\r\n<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h2 id=\"b4c329\"><a class=\"reference-link\" name=\"3.11 \u67e5\u770b\u4f9d\u8d56\u5305\"><\/a>3.11 \u67e5\u770b\u4f9d\u8d56\u5305<a class=\"anchorific\" href=\"#b4c329\">#<\/a><\/h2>\n<div style=\"position: relative;\">\n<pre class=\" language-php\"><code class=\" language-php\"><span class=\"token shell-comment comment\"># **\u8be5\u547d\u4ee4\u4ec5\u9650\u9879\u76ee\u6839\u76ee\u5f55\u4f7f\u7528**<\/span>\r\n\r\n<span class=\"token shell-comment comment\"># \u67e5\u770b**\u5f53\u524d\u9879\u76ee**\u5df2\u5b89\u88c5\u7684\u4f9d\u8d56\u5305<\/span>\r\ncomposer show\r\n\r\n<span class=\"token shell-comment comment\"># \u6839\u636e\u901a\u914d\u7b26**\u5f53\u524d\u9879\u76ee**\u8fdb\u884c\u7b5b\u9009<\/span>\r\ncomposer show laravel<span class=\"token operator\">*<\/span>\r\n\r\n<span class=\"token shell-comment comment\"># \u67e5\u770b**\u5f53\u524d\u9879\u76ee**\u6307\u5b9a\u4f9d\u8d56\u5305<\/span>\r\ncomposer show laravel<span class=\"token operator\">\/<\/span>tinker \r\n<\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h1 id=\"b23cb2\"><a class=\"reference-link\" name=\"(\u56db)\u9879\u76ee\u7684\u4f7f\u7528\"><\/a>(\u56db) \u9879\u76ee\u7684\u4f7f\u7528<a class=\"anchorific\" style=\"display: none;\" href=\"#b23cb2\">#<\/a><\/h1>\n<blockquote><p>\u5728\u9879\u76ee\u4e2d\uff0c\u6211\u4eec\u5e38\u5e38\u4f7f\u7528 composer \u6765\u8fdb\u884c\u5305\u6216\u8005\u5e93\u7684\u4e0b\u8f7d\u4e0e\u66f4\u65b0\uff0c\u4f46\u662f\u5f80\u5f80\u6211\u4eec\u5728\u4f7f\u7528\u4e2d\u4e5f\u4f1a\u9047\u5230\u5404\u79cd\u5404\u6837\u7684\u95ee\u9898\u3002\u63a5\u4e0b\u6765\uff0c\u6211\u4eec\u5c06\u89e3\u51b3\u5e38\u89c1\u7684\u95ee\u9898\u3002<\/p><\/blockquote>\n<h2 id=\"23d983\"><a class=\"reference-link\" name=\"4.1 \u5b9d\u5854\u9762\u677f\u5b89\u88c5Composer\"><\/a>4.1 \u5b9d\u5854\u9762\u677f\u5b89\u88c5 Composer<a class=\"anchorific\" href=\"#23d983\">#<\/a><\/h2>\n<blockquote><p>composer \u7684\u5b89\u88c5\u9700\u8981 php <strong>\u5f00\u542f putenv \u51fd\u6570<\/strong> \uff0c\u5426\u5219\u4f1a\u5b89\u88c5\u5931\u8d25\uff01\u7531\u4e8e putenv \u51fd\u6570\u53ef\u4ee5\u8bbe\u7f6e\u7279\u5b9a\u7684\u73af\u5883\u53d8\u91cf\u800c\u88ab\u8ba4\u4e3a\u662f\u4e00\u4e2a\u6f5c\u5728\u7684\u5b89\u5168\u6f0f\u6d1e\uff0c\u56e0\u6b64 php \u5728\u5b89\u88c5\u4e4b\u521d\u662f\u9ed8\u8ba4\u7981\u6b62\u5b83\u7684\uff01<\/p><\/blockquote>\n<ul>\n<li><strong>\u5220\u9664\u7981\u7528\u51fd\u6570<\/strong><\/li>\n<\/ul>\n<blockquote><p>\u5b9d\u5854\u9762\u677f\u51fa\u4e8e\u5bf9\u4e8e\u5b89\u5168\u7684\u8003\u8651\uff0c\u81ea\u52a8\u7981\u7528\u4e86\u4e00\u4e9b\u51fd\u6570\uff1b\u56e0\u4e3a\u5b89\u88c5 Composer \u4e5f\u4f1a\u7528\u5230\u76f8\u5e94\u7684\u51fd\u6570\uff0c\u6211\u4eec\u5e94\u8be5\u5148\u5220\u9664\u5728\u5b89\u88c5 Composer \u3002 \u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002\u5b89\u88c5 Composer \u9700\u8981<strong>\u5220\u9664<\/strong> \u7684 PHP \u7981\u7528\u51fd\u6570\uff1a<code>putenv()<\/code> \u2002\u2002\u2002\u2002\u2002\u2002\u2002\u2002<strong>\u53cb\u60c5\u63d0\u793a\uff1a<\/strong> \u5728\u4f7f\u7528 Composer \u7684\u65f6\u5019\u9700\u8981\u6839\u636e\u9879\u76ee\u7684 php \u7248\u672c\u53bb\u505a\u64cd\u4f5c (\u5b89\u88c5\u591a\u5c11\u4e2a PHP \u7248\u672c\u5c31\u9700\u8981\u76f8\u5bf9\u5e94\u5220\u9664)\uff0c\u4e0b\u56fe\u793a\u8303\u662f\u6839\u636e php-8.0 \u6765\u64cd\u4f5c\u7684\u3002<\/p><\/blockquote>\n<p><img decoding=\"async\" src=\"https:\/\/blog.nonot.cn\/wp-content\/uploads\/replace\/16fa8689e450e47b22407aa9916f9935.png\" alt=\"Composer\u5b89\u88c5\u6559\u7a0b\" \/><\/p>\n<ul>\n<li><strong>\u975e\u5b9d\u5854\u9762\u677f\u7ba1\u7406\u64cd\u4f5c<\/strong><\/li>\n<\/ul>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\"><span class=\"token comment\"># \u8fdb\u5165php.ini\u914d\u7f6e\u6587\u4ef6\u7f16\u8f91---&gt;\u641c\u7d22\uff08\u8f93\u5165 \/ \u8fdb\u5165\u641c\u7d22\u6a21\u5f0f\uff0c\u641c\u7d22disable_functions\uff09<\/span>\r\n<span class=\"token comment\"># ----&gt;\u4f9d\u6b21\u5220\u9664putenv<\/span>\r\n\r\n**<span class=\"token comment\">### \u7b2c\u4e00\u6b65\uff1a\u67e5\u8be2php.ini\u8def\u5f84** <\/span>\r\n<span class=\"token punctuation\">[<\/span>root@VM-12-9-centos 74<span class=\"token punctuation\">]<\/span><span class=\"token comment\"># find \/ -name \"php.ini\"<\/span>\r\n\/www\/server\/php\/56\/etc\/php.ini\r\n\/www\/server\/php\/80\/etc\/php.ini\r\n\/www\/server\/php\/74\/etc\/php.ini\r\n\r\n**<span class=\"token comment\">### \u7b2c\u4e8c\u6b65\uff1a\u4f9d\u6b21\u7f16\u8f91php.ini\u6587\u4ef6** : \u5220\u9664\u51fd\u6570putenv<\/span>\r\n<span class=\"token function\">vim<\/span> \/www\/server\/php\/56\/etc\/php.ini\r\n\r\n**<span class=\"token comment\">### \u7b2c\u4e09\u6b65\uff1a\u641c\u7d22\u201cdisable_functions\u201d** <\/span>\r\n<span class=\"token comment\"># ESC + \uff1a+ \/ + disable_functions \u5c06\u4f1a\u81ea\u52a8\u5b9a\u4f4d\u5230\u6307\u5b9a\u4f4d\u7f6e<\/span>\r\ndisable_functions <span class=\"token operator\">=<\/span> passthru,exec,system,**putenv** ,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv\r\n\r\n**<span class=\"token comment\">### \u7b2c\u56db\u6b65\uff1a\u4fdd\u5b58\u6587\u4ef6\u5e76\u9000\u51fa** <\/span>\r\nESC + :wq<span class=\"token operator\">!<\/span> <\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<ul>\n<li><strong>\u53cb\u60c5\u63d0\u9192<\/strong><\/li>\n<\/ul>\n<blockquote><p>\u5b9d\u5854\u662f\u652f\u6301 php \u591a\u7248\u672c\u7684\uff0c\u5982\u679c\u5728\u4e0d\u540c\u7248\u672c\u7684 php \u4e2d\u4f7f\u7528 composer \uff0c<strong>\u53ea\u8981\u5f00\u542f php \u4e2d\u7684 putenv \u51fd\u6570\u5373\u53ef\uff01<\/strong><\/p><\/blockquote>\n<h2 id=\"bd106a\"><a class=\"reference-link\" name=\"4.2 PHP\u9879\u76ee\u4f7f\u7528\"><\/a>4.2 PHP \u9879\u76ee\u4f7f\u7528<a class=\"anchorific\" style=\"display: none;\" href=\"#bd106a\">#<\/a><\/h2>\n<ul>\n<li><strong>composer.lock \u5df2\u7ecf\u5b58\u5728<\/strong><\/li>\n<\/ul>\n<blockquote><p><strong>\u4f7f\u7528\u573a\u666f\uff1a<\/strong> \u7531\u4e8e\u4e0b\u8f7d\u4ee3\u7801\u6216\u8005 git \u4ee3\u7801\u6216\u8005\u90e8\u7f72\u9879\u76ee\u65f6\u4f1a\u5b58\u5728 <code>composer.lock<\/code> \uff0c \u9996\u5148\u5e94\u8be5\u5220\u9664 <code>composer.lock<\/code><\/p><\/blockquote>\n<div style=\"position: relative;\">\n<pre class=\" language-shell\"><code class=\" language-shell\"><span class=\"token comment\"># \u9879\u76ee\u4e2dcomposer.lock\u5df2\u7ecf\u5b58\u5728\uff0c\u9700\u8981\u8fdb\u884c\u5220\u9664\uff0c\u518d\u91cd\u65b0\u5b89\u88c5\uff0c\u5b89\u88c5\u6210\u529f\u540e\u4f1a\u91cd\u65b0\u751f\u6210composer.lock\u6587\u4ef6<\/span>\r\n<span class=\"token comment\"># \u6848\u4f8b\u793a\u8303\uff1a<\/span>\r\n**<span class=\"token comment\">### \u7b2c\u4e00\u6b65\uff1a\u8fdb\u5165\u9879\u76eeblog\u6839\u76ee\u5f55** <\/span>\r\n<span class=\"token function\">cd<\/span> wwwwwwrootblog\r\n\r\n**<span class=\"token comment\">### \u7b2c\u4e8c\u6b65\uff1a\u5220\u9664composer.lock\u6587\u4ef6** <\/span>\r\n<span class=\"token comment\"># \u5220\u9664\u8bf7\u6838\u5bf9\u6587\u4ef6\u540d\u540e\u8c28\u614e\u64cd\u4f5c<\/span>\r\n<span class=\"token function\">rm<\/span> -rf composer.lock\r\n\r\n**<span class=\"token comment\">### \u7b2c\u4e09\u6b65\uff1a\u91cd\u65b0composer\u5b89\u88c5\u9879\u76ee\u6240\u9700\u5305** <\/span>\r\ncomposer <span class=\"token function\">install<\/span><\/code><button class=\"copy-code-button ui label\" style=\"position: absolute; top: 20px; right: 1px; display: none;\">Copy<\/button><\/pre>\n<\/div>\n<h1 id=\"13d195\"><a class=\"reference-link\" name=\"(\u4e94)\u7ed3\u5c3e\"><\/a>(\u4e94) \u7ed3\u5c3e<a class=\"anchorific\" style=\"display: none;\" href=\"#13d195\">#<\/a><\/h1>\n<blockquote><p><strong>\u63d0\u793a\uff1a<\/strong> \u4e0d\u8981\u5fd8\u4e86\u7ecf\u5e38\u6267\u884c <code>composer selfupdate<\/code> \u4ee5\u4fdd\u6301 Composer \u4e00\u76f4\u662f\u6700\u65b0\u7248\u672c\u54e6\uff01<\/p><\/blockquote>\n<div class=\"meta\" style=\"margin: 35px 0px;\"><i class=\"icon tags\"><\/i><br \/>\n<a class=\"ui label small yellow topic-tag\" href=\"https:\/\/learnku.com\/blog\/jack_num1\/tags\/environment-configuration_NW_64648\">\u73af\u5883\u914d\u7f6e<\/a><\/div>\n<blockquote style=\"font-size: 0.9em;\"><p>\u672c\u4f5c\u54c1\u91c7\u7528<a href=\"https:\/\/learnku.com\/docs\/guide\/cc4.0\/6589\">\u300aCC \u534f\u8bae\u300b<\/a>\uff0c\u8f6c\u8f7d\u5fc5\u987b\u6ce8\u660e\u4f5c\u8005\u548c\u672c\u6587\u94fe\u63a5<\/p><\/blockquote>\n<div><i class=\"icon paw\" aria-hidden=\"true\"><\/i><br \/>\n<span class=\"rm-link-color\"><br \/>\njack_num1<br \/>\n<\/span><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4ecb\u7ecd\uff1a Composer \u662f PHP \u7528\u6765\u7ba1\u7406\u4f9d\u8d56\uff08 dep&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-956","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts\/956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/comments?post=956"}],"version-history":[{"count":18,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts\/956\/revisions"}],"predecessor-version":[{"id":1002,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/posts\/956\/revisions\/1002"}],"wp:attachment":[{"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/media?parent=956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/categories?post=956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nonot.cn\/index.php\/wp-json\/wp\/v2\/tags?post=956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}