Как правильно настроить php-cli c докером?

121
05 декабря 2018, 02:10

Debian 8, php 5.6 по-умолчанию, через докер ставлю версию php 7.1, вроде делал все по докам, в .bashrc прописано:

# composer
composer () {
    tty=
    tty -s && tty=--tty
    docker run \
        $tty \
        --interactive \
        --rm \
        --user $(id -u):$(id -g) \
        --volume /etc/passwd:/etc/passwd:ro \
        --volume /etc/group:/etc/group:ro \
        --volume $(pwd):/app \
        composer "$@"
}
# php
php () {
    docker run --rm -w /www -v $(pwd):/www php:7.1-cli php "$@"
}

Проблемы:

  1. если вызывать напрямую скрипты (*.sh файлы) вида:

    \#!/usr/bin/env php

    то запускается версия php 5.6

  2. Если вызывать какой файл "php -f init", то не читает "fgets(STDIN)":

    $ php -v
    PHP 7.1.20 (cli) (built: Jul 21 2018 08:32:31) ( NTS )
    Copyright (c) 1997-2018 The PHP Group
    Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
    
    $ php -f init
    Yii Application Initialization Tool v1.0
    Which environment do you want the application to be initialized in?
      [0] Development
      [1] Production
      Your choice [0-1, or "q" to quit] 
      Quit initialization.

    сразу выводит все (не ждет ответа)

  3. деплой работает через gulp-ssh, запускается команда "composer install", но тоже не работает как будто не читает .bashrc, хотя если авторизоваться по ssh, то composer работает по bashrc (дефолтный ругается на версию php7.1)

READ ALSO
Как исправить ошибку “Non-static method <method_name> should not be called statically”

Как исправить ошибку “Non-static method <method_name> should not be called statically”

Существует проект на YII2, который размещен на хостинге и работает без особых проблемПри развертывании на локальном сервере этого проекта...

117
Кодировка парсера didom

Кодировка парсера didom

использую эту библиотеку, как парсер https://githubcom/Imangazaliev/DiDOM Мне нужно получить расстояние от определенного адреса до ближайшего метро

170
Как изменить положение текста в php

Как изменить положение текста в php

как текст перенести на середину?

181
init is not defined at onload

init is not defined at onload

Прошу помощиКонсоль стала ругаться на <body onload="init ();">

356