Акция!  Домен 34 грн, домен 55 грн, домен  - 200 грн домен  - 65 грн, домен  - 99 грн, домен  - 56 грн!, домен  - 425 грн!
Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
  • RUB
  • USD
  • EUR
  • UAH
Чат техподдержки
Вы являетесь клиентом?
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Пожелания и предложения. Просьба добавить /user/bin/env

Форумы Пожелания и предложения Просьба добавить /user/bin/env
Amsterdam
5 лет
хостинг: есть
домен: есть
Просьба добавить /user/bin/env
Могли бы вы добавить /user/bin/env, чтобы работало следующие:
/user/bin/env php - пусть оно было бы направленно на php версии, которая указана в настройках сайта
так же это даст возможность сменить версию в настройках без переписывания кода по всему проекту
Amsterdam
5 лет
хостинг: есть
домен: есть
опечатка: /usr/bin/env
Илья
5 лет
хостинг: есть
домен: есть
Не совсем понятно куда добавить /usr/bin/env и почему необходимо переписывать код для смены версии PHP
Amsterdam
5 лет
хостинг: есть
домен: есть
прошу прощения, я ошибся - файл с таким содержим работает:
#!/usr/bin/env php
<?php
echo phpversion();
?>

НО выводит - 5.2.17
идея была в том, чтобы подхватывалась версия, которая установленна через настройки. Это бы улучшило:
1) не нужно в каждом скрипте писать условия IS_PRODUCTION
2) при смене версии пхп, ничего не нужно было бы переписывать
eugen
5 лет
хостинг: есть
домен: есть
идея была в том, чтобы подхватывалась версия, которая установленна через настройки © Amsterdam


Оставьте env в скриптах + пропишите путь к необходимой версии php в файле .bash_profile в корневой папке аккаунта. Например, чтобы версия php бралась 5.3 для всех скриптов с такой настройкой env добавьте в конец этого файла строку:

PATH=/usr/local/php53/bin:$PATH

Изменения вступят в силу при следующем логине по ssh. При запуске скрипта как shell команды не существует понятия сайта, поэтому версия php при запуске скриптов с любого сайта аккаунта будет одинаковой и с этим ничего не поделаешь.
Amsterdam
5 лет
хостинг: есть
домен: есть
Изменения вступят в силу при следующем логине по ssh. © eugen

Еще 2 вопроса:
- это так же будет учтено при выполнении скриптов через cron? (будет ли использована установленная в .bash_profile версия php)
- какой ini файл будет использован? который редактируется через "web Настройки" или какой-то другой?
eugen
5 лет
хостинг: есть
домен: есть
это так же будет учтено при выполнении скриптов через cron? © Amsterdam

Вероятно, нет. cron создает отдельный очень ограниченный environment при выполнении каждой задачи.

какой ini файл будет использован © Amsterdam

php.ini будет использован системный, общий для всех аккаунтов на сервере.

Есть цель и ssh и крон и еще нужно php.ini от своего сайта www.domain.com - можно сделать скрипт /home/login/myphp.sh, где будет что-то вроде:
#!/bin/bash
/usr/local/php53/bin/php -c /home/login/.system/php/www.domain.com.ini $@


При этом по ssh запускать скрипты как ./myphp.sh script.php или сделать алиас в .bashrc php на /home/login/myphp.sh и тогда будут запускаться и как php script.php
В крон нужно будет ставить задачи в виде /home/login/myphp.sh script.php

Сделать, чтобы скрипт, запущенный из крона или по ssh сам определил для себя версию php и конфиг, с которым ему запускаться, исходя из настроек сайта - не получится.
Илья
5 лет
хостинг: есть
домен: есть
Как дополнение можно сделать bash файл, который будет автоматически парсить путь, указанный к скрипту и в зависимости от адреса сайта (который можно определить по названию директории) вызывал соответствующую версию PHP.
Amsterdam
5 лет
хостинг: есть
домен: есть
1) только что заметил, что ini файлы остаются в .system даже после удаления домена/сайта - не знаю фича это или баг
2) а нельзя ли это как-то автоматизировать, все то о чем мы говорили выше:
- переопределить /usr/bin/env php этим скриптом в системе (зачем вообще php 5.2, тем кто использует 5.3, 5.4, 5.5? Мне кажется, сайт должен работать в рамках одной версии по умолчанию, чтобы было все консистентно. Если я в настройках поставил 5.5, то пусть и команда php вызывает 5.5 версию)
- или же создать какой-то алиас
что думаете?
eugen
5 лет
хостинг: есть
домен: есть
Если я в настройках поставил 5.5 © Amsterdam

А если у одного сайта 5.5, а у второго 5.3?

или же создать какой-то алиас © Amsterdam

Опять же - алиас на 5.5 или 5.3, если разные версии у разных сайтов используются? Проблема в том, что сайтов может быть несколько, а команда php должна ссылаться только на одну из них.

В теории определять имя сайта по пути к файлу, по имени сайта брать php.ini, из него определять версию php и запускать ее, а в случае ошибки поиска какую-то дефолтную версию php - можно. Но я бы это ожидаемым поведением не назвал. Как костыль для себя - да, можно.

В целом вопрос Вы подняли важный, но нужно подумать как его правильно решить. Возможно введением понятия дефолтной версии php для аккаунта. Тот же composer например тоже полагается на env, и с настройками по умолчанию работать не будет, т.к. требует минимум php 5.3. Точнее работать будет только при явном указании /usr/local/php53/bin/php composer.phar
Amsterdam
5 лет
хостинг: есть
домен: есть
спасибо за ответ и разъяснения. вот хочу такой вариант предложить, может возможно такое реализовать:
1) ввести понятие дефолтной версии (по умолчанию 5.2, для обратной совместимости)
2) /usr/bin/env php - здесь будет ваш скрипт, который будет парсить аргумент файла, и по нему определять сайт и версию. если же сайт не удалось определить, например:
/usr/bin/env php --version
тогда вызывать дефолтную версию
Amsterdam
5 лет
хостинг: есть
домен: есть
будет ли данный вопрос рассмотрен хостингом?
Илья
5 лет
хостинг: есть
домен: есть
Вопрос рассмотрен, Ваши пожелания учтены, но сделать сейчас мы их не можем.
Согласно политики компании мы не можем давать сроки ее выполнения и обещать что мы ее выполним.
Amsterdam
5 лет
хостинг: есть
домен: есть
-3
Есть какие-то здвиги в этой задаче? Вообще реально ли реализовать переопределение команды php на настраиваемую версию в системе?
Amsterdam
4 года
хостинг: есть
домен: есть
Апну тему, потому как не хотелось чтобы она закрылась автоматически. Очень жду разрешения проблемы, чтобы полноценно использовать vendor'ные библиотеки
Amsterdam
4 года
хостинг: есть
домен: есть
предлагаю начать с малого, просто ввести параметр "пхп версия по умолчанию" и поставить его в 5.2
этого уже будет достаточно
eugen
4 года
хостинг: есть
домен: есть
предлагаю начать с малого, просто ввести параметр © Amsterdam

Это только звучит просто. На самом деле, это задача не из простых, к тому же имеет ряд зависимостей. На текущий момент задача на этапе "подумать, как это правильно сделать".
Amsterdam
4 года
хостинг: есть
домен: есть
ап
ts999
4 года
хостинг: есть
домен: есть
Просьба добавить кнопку типа "преобразовать таблицу статистики посещений сайта в карту". Чтобы иметь возможность наглядно видеть и анализировать по карте мира, откуда больше обращений к сайту - из каких точек мира. В результате должна получиться карта мира с точками на ней, откуда были посещения сайта. Спасибо
Илья
4 года
хостинг: есть
домен: есть
Просьба добавить кнопку типа "преобразовать таблицу статистики посещений сайта в карту" © ts999

Для этого есть отличные сервисы типа google analythics.
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.