所以我安装了三个PHP版本的Gentoo盒子(没关系原因):
/usr/bin/php - > /usr/lib64/php5.4/bin/php/usr/bin/php5.5 - > /usr/lib64/php5.5/bin/php/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权限).
假设我有一个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,但有一定的条件,如:
NULL(或某种骨架/模板的\AppBundle\Entity\Group不是从数据库加载与固定值),如果Group中 …所以有一个很棒的工具可以处理 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 版]... "
谁能告诉我为什么这个配置不正确?