小编roo*_*ays的帖子

对一个命令使用不同的PHP版本CLI可执行文件

所以我安装了三个PHP版本的Gentoo盒子(没关系原因):

  1. /usr/bin/php - > /usr/lib64/php5.4/bin/php
  2. /usr/bin/php5.5 - > /usr/lib64/php5.5/bin/php
  3. /usr/bin/php5.6 - > /usr/lib64/php5.4/bin/php

我想使用composer 安装Laravel框架:

$ composer create-project laravel/laravel --prefer-dist
Run Code Online (Sandbox Code Playgroud)

但是这会引发错误,因为Laravel要求PHP> 5.5.9并且默认php解释器为5.4.所以我发出另一个命令:

$ /usr/bin/php5.6 /usr/bin/composer create-project laravel/laravel --prefer-dist
Run Code Online (Sandbox Code Playgroud)

这让我更进了一步,但随后Laravel的一些安装后命令composer.json发挥作用,安装崩溃了.

这是因为composer.json命令看起来像这样:

"post-install-cmd": [
    "php artisan clear-compiled",
    "php artisan optimize"
],
Run Code Online (Sandbox Code Playgroud)

如您所见,再次使用"默认"解释器!

现在,正确的PHP文件从以下shebang开始:

#!/usr/bin/env php
Run Code Online (Sandbox Code Playgroud)

这是一个很好的功能,因为PHP解释器可以在不同系统的不同位置找到.不幸的是,在这种情况下,env命令返回它在$PATH环境变量中找到的第一个可执行文件的路径.

我怎么可能改变当前的会话环境或执行什么样的技巧,以便执行整个Laravel安装过程php命令/usr/bin/php5.6而不是/usr/bin/php

我不想改变$PATH变量或修改文件一样composer,composer.json或者Laravel的CLI工具artisan.


编辑:还假设我想从常规用户帐户执行此操作(即没有root权限).

php linux env command-line-interface laravel

34
推荐指数
4
解决办法
6万
查看次数

在Doctrine中,如何为Entity实现其他模型功能

假设我有一个Doctrine(版本2)实体,如下所示:

<?php
namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table(name="users")
 * @ORM\Entity
 */
class User {
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=50, nullable=false)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="group_id", type="string", length=6, nullable=true)
     */
     private $groupId;

    // Getters and setters...
}
Run Code Online (Sandbox Code Playgroud)

现在,我想管理User的关系Group,有一定的条件,如:

  1. 返回NULL(或某种骨架/模板的\AppBundle\Entity\Group不是从数据库加载与固定值),如果Group中 …

php doctrine doctrine-orm

7
推荐指数
1
解决办法
609
查看次数

使用 jq 在 Midnight Commander 中查看 JSON 文件

所以有一个很棒的工具可以处理 JSON 数据,称为jq

还有一个很棒的 linux 文件管理器,叫做mc

有一天(今天)我想到了将这两者集成的想法,这样我就可以在 Midnight Commander 中使用 F3 键盘快捷键以漂亮/格式化的方式轻松预览 JSON 文件。

我使用Command? Edit extension file菜单操作,然后将以下内容添加到这样打开的配置文件中:

# json
regex/\.json$
   View=%view{ascii} jq < %f
Run Code Online (Sandbox Code Playgroud)

我认为这很简单,但出乎意料的是它不起作用:尝试查看 JSON (F3) 会导致错误弹出窗口jq的帮助页面的内容(与您自己键入时相同jq),因此以:“ jq -命令行 JSON 处理器 [1.5 版]... "

谁能告诉我为什么这个配置不正确?

mc jq

3
推荐指数
1
解决办法
682
查看次数

标签 统计

php ×2

command-line-interface ×1

doctrine ×1

doctrine-orm ×1

env ×1

jq ×1

laravel ×1

linux ×1

mc ×1