Amsterdam
04.09.2014 09:48
0
Могли бы вы добавить /user/bin/env, чтобы работало следующие:
/user/bin/env php - пусть оно было бы направленно на php версии, которая указана в настройках сайта
так же это даст возможность сменить версию в настройках без переписывания кода по всему проекту
Amsterdam
04.09.2014 09:59
0
опечатка: /usr/bin/env
rudenko
04.09.2014 13:57
0
Не совсем понятно куда добавить /usr/bin/env и почему необходимо переписывать код для смены версии PHP
Amsterdam
04.09.2014 15:18
0
прошу прощения, я ошибся - файл с таким содержим работает:
#!/usr/bin/env php
<?php
echophpversion();
?>

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


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

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

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

Еще 2 вопроса:
- это так же будет учтено при выполнении скриптов через cron? (будет ли использована установленная в .bash_profile версия php)
- какой ini файл будет использован? который редактируется через "web Настройки" или какой-то другой?
eugen
05.09.2014 15:46
0
это так же будет учтено при выполнении скриптов через 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 и конфиг, с которым ему запускаться, исходя из настроек сайта - не получится.
rudenko
07.09.2014 16:58
0
Как дополнение можно сделать bash файл, который будет автоматически парсить путь, указанный к скрипту и в зависимости от адреса сайта (который можно определить по названию директории) вызывал соответствующую версию PHP.
Amsterdam
08.09.2014 10:46
0
1) только что заметил, что ini файлы остаются в .system даже после удаления домена/сайта - не знаю фича это или баг
2) а нельзя ли это как-то автоматизировать, все то о чем мы говорили выше:
- переопределить /usr/bin/env php этим скриптом в системе (зачем вообще php 5.2, тем кто использует 5.3, 5.4, 5.5? Мне кажется, сайт должен работать в рамках одной версии по умолчанию, чтобы было все консистентно. Если я в настройках поставил 5.5, то пусть и команда php вызывает 5.5 версию)
- или же создать какой-то алиас
что думаете?
eugen
08.09.2014 17:18
0
Если я в настройках поставил 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
08.09.2014 19:59
0
спасибо за ответ и разъяснения. вот хочу такой вариант предложить, может возможно такое реализовать:
1) ввести понятие дефолтной версии (по умолчанию 5.2, для обратной совместимости)
2) /usr/bin/env php - здесь будет ваш скрипт, который будет парсить аргумент файла, и по нему определять сайт и версию. если же сайт не удалось определить, например:
/usr/bin/env php --version
тогда вызывать дефолтную версию
Amsterdam
11.09.2014 20:42
0
будет ли данный вопрос рассмотрен хостингом?
rudenko
11.09.2014 23:52
0
Вопрос рассмотрен, Ваши пожелания учтены, но сделать сейчас мы их не можем.
Согласно политики компании мы не можем давать сроки ее выполнения и обещать что мы ее выполним.
Amsterdam
18.09.2014 14:15
-3
Есть какие-то здвиги в этой задаче? Вообще реально ли реализовать переопределение команды php на настраиваемую версию в системе?
Amsterdam
01.10.2014 10:38
0
Апну тему, потому как не хотелось чтобы она закрылась автоматически. Очень жду разрешения проблемы, чтобы полноценно использовать vendor'ные библиотеки
Amsterdam
15.10.2014 13:49
0
предлагаю начать с малого, просто ввести параметр "пхп версия по умолчанию" и поставить его в 5.2
этого уже будет достаточно
eugen
16.10.2014 17:15
0
предлагаю начать с малого, просто ввести параметр© Amsterdam

Это только звучит просто. На самом деле, это задача не из простых, к тому же имеет ряд зависимостей. На текущий момент задача на этапе "подумать, как это правильно сделать".
Amsterdam
13.11.2014 22:25
0
ап
ts999
16.11.2014 20:50
0
Просьба добавить кнопку типа "преобразовать таблицу статистики посещений сайта в карту". Чтобы иметь возможность наглядно видеть и анализировать по карте мира, откуда больше обращений к сайту - из каких точек мира. В результате должна получиться карта мира с точками на ней, откуда были посещения сайта. Спасибо
rudenko
16.11.2014 22:00
0
Просьба добавить кнопку типа "преобразовать таблицу статистики посещений сайта в карту"© ts999

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