【问题标题】:Laravel - Is there a way one would create a Laravel project via composer without php-jsonLaravel - 有没有一种方法可以通过没有 php-json 的作曲家创建 Laravel 项目
【发布时间】:2017-11-11 15:25:57
【问题描述】:

我正在尝试在我的 Ubuntu 16.10 上安装 laravel。我已经通过终端(sudo apt-get install composer)安装了作曲家。我还安装了我的PHP7.0,包括它的所有依赖项(包括 php-json)。当我运行“composer create-project "laravel/laravel" project-name”时,出现以下错误

"PHP 致命错误:未捕获的错误:调用 /usr/share/php/Composer/Json/JsonFile.php:266 中未定义的函数 Composer\Json\json_decode() 堆栈跟踪:

0 /usr/share/php/Composer/Repository/ComposerRepository.php(664): Composer\Json\JsonFile::parseJson('{"packages":[],...',

'https://packagi...')"

当我运行“php -m”时,我的 php-json 在已启用的 php 模块中丢失,即使它已经安装。在我对此进行研究的过程中,我在licencing issues 上阅读了 php 和 json 开发人员之间的一些内容。

有没有使用没有php-json模块的composer创建laravel项目的成功方法?

【问题讨论】:

  • 嘿 @Yokonia 尝试下载 composer.phar 并将其放在您要安装项目的位置并运行 php composer.phar create-project laravel/laravel project-name
  • 嗯很有趣,现在它说 [PHP 致命错误:未捕获的错误:在 /home/tazho/public_html/composer.phar:23 中找不到类“Phar”:堆栈跟踪:#0 {main} 抛出在 /home/tazho/public_html/composer.phar 第 23 行] @Vishal

标签: laravel ubuntu composer-php


【解决方案1】:

当我将发行版升级到 Ubuntu 17.04 时,我设法解决了这个问题。出于某种原因,升级过程只是将所有内容加在一起。

【讨论】:

    【解决方案2】:

    命令必须像 -

    composer create-project "laravel/laravel" project-name
    

    【讨论】:

    • 注意到,但该命令需要一个功能性的 php-json 模块。有没有变通的方法?
    【解决方案3】:

    试试这个:

    sudo apt-get install php7.0-json
    

    您的 php cli 版本也可能配置不同。检查与

    php -v
    

    如果不是 7.0,则执行以下操作: sudo apt-get install phpX.X-json

    接下来是验证是否启用了 json 扩展。它应该位于 /etc/php/X.X/cli/conf.d/ 和 {number}-json.ini

    如果它不在该目录中,请在该目录中执行以下操作

    sudo ln -s /etc/php/X.X/mods-available/json.ini 20-json.ini
    

    【讨论】:

    • php 的版本是 7.0,运行 sudo apt-get install php7.0-json 表示已经安装了最新版本的 php7.0-json。由于某种原因,我的 php 没有集成我的 php-json
    • 你能通过执行 php -v 来验证你的 cli 是否在 php7 上运行吗?然后去 /etc/php/X.X/conf.d/ 看看里面是否有 json.ini 文件。它可能有一个前缀,例如我说 20-json.ini
    • 答案听起来不错,但正如他告诉 php-json 的那样,如果没有,老兄!
    • 我的 /etc/php/7.0/ 只有这些文件夹(apache2、cgi、cli、fpm、mods-available)。没有 conf.d 文件夹。我是创建它还是在另一个目录中创建它? @Peravo
    • 糟糕!它应该是 cli 文件夹。我也更新了答案
    猜你喜欢
    • 2020-10-08
    • 2014-11-10
    • 2018-10-03
    • 1970-01-01
    • 2018-04-13
    • 2017-01-07
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    相关资源
    最近更新 更多