在composer.json中,我有
{
"require":
{
"phpdocumentor/phpdocumentor": "*"
}
}
它是什么,因为我试图用./composer.phar install
命令将phpDocumentor安装到一个隔离的文件夹中。但我得到的是
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- phpdocumentor/phpdocumentor v2.0.0 requires phpdocumentor/template-abstract ~1.2 -> satisfiable by phpdocumentor/template-abstract[1.2, 1.2.1].
- phpdocumentor/phpdocumentor v2.0.1 requires phpdocumentor/template-abstract ~1.2 -> satisfiable by phpdocumentor/template-abstract[1.2, 1.2.1].
- phpdocumentor/phpdocumentor v2.1.0 requires phpdocumentor/template-abstract ~1.2 -> satisfiable by phpdocumentor/template-abstract[1.2, 1.2.1].
- phpdocumentor/phpdocumentor v2.2.0 requires phpdocumentor/template-abstract ~1.2 -> satisfiable by phpdocumentor/template-abstract[1.2, 1.2.1].
- phpdocumentor/phpdocumentor v2.3.2 requires phpdocumentor/template-abstract ~1.2 -> satisfiable by phpdocumentor/template-abstract[1.2, 1.2.1].
- phpdocumentor/phpdocumentor v2.4.0 requires phpdocumentor/template-abstract ~1.2 -> satisfiable by phpdocumentor/template-abstract[1.2, 1.2.1].
- phpdocumentor/phpdocumentor v2.3.1 requires dompdf/dompdf dev-master@dev -> no matching package found.
- phpdocumentor/phpdocumentor v2.3.0 requires dompdf/dompdf dev-master@dev -> no matching package found.
- phpdocumentor/template-abstract 1.2.1 requires ext-xsl * -> the requested PHP extension xsl is missing from your system.
- phpdocumentor/template-abstract 1.2 requires ext-xsl * -> the requested PHP extension xsl is missing from your system.
- Installation request for phpdocumentor/phpdocumentor * -> satisfiable by phpdocumentor/phpdocumentor[v2.0.0, v2.0.1, v2.1.0, v2.2.0, v2.3.0, v2.3.1, v2.3.2, v2.4.0].
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://groups.google.com/d/topic/composer-dev/_g3ASeIFlrc/discussion> for more details.
答案 0 :(得分:9)
尝试使用sudo apt-get install php5-xsl
答案 1 :(得分:8)
错误消息表明您在PHP设置中缺少XSL扩展。有关安装该扩展程序的详细信息,请参阅http://www.php.net/manual/en/xsl.installation.php。
请注意,默认模板不需要XSL扩展名;您也可以选择使用PHAR可执行文件或可下载的存档。这些可以从https://github.com/phpDocumentor/phpDocumentor2/releases/latest下载。这两个不检查XSL扩展,因此可以安全使用。
答案 2 :(得分:1)
您可以轻松启用XSL扩展(因为它默认包含在php 5中)。
找到php.ini文件并启用(取消注释)
延长= php_xsl.dll
(在WAMP上;点击wamp图标 - &gt; PHP - &gt; PHP Extensions - &gt; php_xsl)
请不要忘记启用PHP CLI (see here)使用的php.ini文件中的扩展名,因为这是作曲家在命令运行时使用的线。
供参考(来自上面的链接):
/etc/php5/cli/php.ini用于您找到的CLI PHP程序 在终端上运行php。
/etc/php5/cgi/php.ini适用于php-cgi系统,它不是 专门用于此设置。
/etc/php5/apache2/php.ini用于Apache使用的PHP插件。这个 是您需要编辑的应用程序,以便为Apache应用更改 设置。
可能很方便重启服务器。
PS:您可以使用以下方式验证扩展程序的可用性:
作曲家秀-p
祝你好运。
答案 3 :(得分:0)
只是想更新当前(PHP 7.4)在 php.ini 文件中取消注释的行是:
<块引用>;extension=xsl
答案 4 :(得分:0)
您不应该编写安装 PhpDocumentor!
为什么?在 Official PhpDocumentator website 的主页上,您可以找到:
<块引用>但是等等?作曲家呢?
啊,你发现了我们的秘密。有一个 phpDocumentor 作曲家 可用于安装 phpDocumentor 的软件包。
然而:phpDocumentor 是一个复杂的应用程序,它的库是 用于无数其他库和应用程序(我们的库中有 2 个 下载量均超过 1.5 亿);这意味着 我们的依赖项之一与您的依赖项之间发生冲突的可能性是 高的。当我说高时,它真的很高。
所以,因为以上:我们不认可也不积极支持 使用 Composer 安装 phpDocumentor。
基于此,也许最好创建一个脚本来安装它。这里只是一个例子:
wget https://phpdoc.org/phpDocumentor.phar
chmod 0755 phpDocumentor.phar
sudo mv phpDocumentor.phar /usr/local/bin/phpdoc
sudo apt install -y graphviz