【问题标题】:composer, laravel and 2 versions of PHPcomposer, laravel 和 2 个版本的 PHP
【发布时间】:2017-09-14 15:39:31
【问题描述】:

我无法让 composer 和 laravel 在我的服务器上正常工作,

如果我跑,

php composer.phar update

我收到以下错误,

问题 1
- laravel/framework v4.2.9 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.8 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.7 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.6 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.5 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.4 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.3 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.2 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.11 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.10 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.1 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.0 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework v4.2.11 需要 php >=5.4.0 -> 找不到匹配的包。
- laravel/framework 4.2.* 的安装请求 -> laravel/framework[v4.2.0, v4.2.1, v4.2.10, v4.2.11, v4.2.2, v4.2.3, v4.2.4、v4.2.5、v4.2.6、v4.2.7、v4.2.8、v4.2.9]。

现在我认为这是因为我的 $PATH 上的 php 指向 /usr/local/bin 并且 PHP 的版本是 5.3,但是我的服务器上也安装了 PHP 5.5.14,我可以指向 composer像这样直接到那个版本,

/usr/local/php-5.5.14-cgi/bin/php composer.phar update

然后我得到以下错误,

PHP 解析错误:语法错误,意外的 '[' in /var/www/vhosts/popsapp.com/api.popsapp.com/vendor/laravel/framework/src/Illuminate/Support/helpers.php 在线 411 Script php artisan clear-compiled 处理 post-update-cmd 事件返回错误磁盘托管 /var/www/vhosts/popsapp.com/.composer 已满,可能是这个原因 以下异常

                                                                                                [RuntimeException]                                                    

错误输出:PHP 解析错误:语法错误,意外的 '[' in /var/www/vhosts/popsapp.com/a
pi.popsapp.com/vendor/laravel/framework/src/Illuminate/Support/helpers.php 在第 411 行

更新 [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [--ignore-platform-reqs] [packages1] ... [packagesN]

这让我相信 composer 或 larvel 仍在使用错误版本的 php,如何确保完整安装使用 PHP 5.5.14?

【问题讨论】:

    标签: php laravel centos composer-php


    【解决方案1】:

    composer update 期间,作曲家正在调用composer.json 文件中的脚本。对于 Laravel,此文件类似于:

    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    

    因此,您可以更新您的composer.json 以使用正确版本的 PHP,或者只更新您的 $PATH 变量。我建议后者。

    【讨论】:

      【解决方案2】:

      在 Linux OS ubntu 14.04 上安装 LARAVEL:

      第 1 步:安装最新的 PHP 版本

      您可以通过以下命令删除早期的 php 版本:
      ->sudo apt-get purge php.*

      ->sudo apt-get install python-software-properties
      ->sudo add-apt-repository ppa:ondrej/php
      ->sudo apt-get 更新
      ->sudo apt-get install -y php7.1

      第 2 步:安装 Composer

      ->卷曲-sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
      ->作曲家

      第 3 步:安装 LARAVEL 5.4

      1] 转到您的工作项目目录并运行以下命令:
      ->composer create-project --prefer-dist laravel/laravel laravel_5.4
      -> cd laravel_5.4
      -> sudo chmod -R 777 /opt/lampp/htdocs/Gaurav/laravel_5.4
      -> 作曲家安装
      2] 如果在安装 composer 重新分级 mbstring 时遇到致命错误,请使用以下命令:
      ->sudo apt-get install php-mbstring php7.1-mbstring php-gettext libapache2-mod-php7.1
      ->作曲家更新
      3] 运行 laravel 项目
      -> php工匠服务
      -> php 工匠密钥:生成

      在浏览器中转到http://127.0.0.1:8000,您将看到laravel的主屏幕

      【讨论】:

        猜你喜欢
        • 2018-03-28
        • 1970-01-01
        • 2012-09-27
        • 2016-06-30
        • 2016-08-04
        • 2020-02-02
        • 2015-12-22
        • 2016-11-22
        • 2014-05-27
        相关资源
        最近更新 更多