How can I get the full path to php interpreter from a php script (no command line access).
What I need to do is:
$foo = "/usr/bin/php";
echo $foo;
But I need to get the path first so I can assign it to foo.
If you have a solution that works on both Windows and nix even better but if not, nix would be fine.
Before you ask,
- Asking the host is out of the question
- No shell access
The problem is that using whatever it outputs doesn’t work. For example PHP_BINDIR will output /usr/bin but using /usr/bin/php won’t help. The full code is:
exec("php-cli $path_to_file > /dev/null 2>/dev/null &");
But even using the /usr/bin/php-cli doesn’t work even though it tells me that. I have to use:
exec("/opt/php52/bin/php-cli $path_to_file > /dev/null 2>/dev/null &");
For this particular host for example.
asked Jul 18, 2012 at 20:54
Chris81Chris81
4262 gold badges4 silver badges16 bronze badges
3
You can find the PHP binary path with this constant:
PHP_BINDIR
As of PHP 5.4, you can get the path to the executable actually running currently with this constant:
PHP_BINARY
http://php.net/manual/en/reserved.constants.php
answered Jul 18, 2012 at 20:58
BradBrad
158k53 gold badges342 silver badges526 bronze badges
11
Linux users can try the whereis
command.
I had this situation with a PHP IDE.
whereis php
Jonathan Lam
16.7k16 gold badges67 silver badges93 bronze badges
answered Nov 13, 2015 at 4:32
On Windows I would suggest the following snippet:
<?php
$pid = getmypid();
$output = shell_exec(sprintf('tasklist /nh /fo csv /fi "PID eq %d"', $pid));
$processInfo = explode(',', $output);
echo PHP_BINDIR . DIRECTORY_SEPARATOR . trim($processInfo[0], '"');
On unix the shell command should probably make use of ps
answered Oct 8, 2014 at 7:46
user725408user725408
3363 silver badges8 bronze badges
1
its not common for a host to give root access to its users. Most probably, you can’t access anything below /var/www
answered Jul 18, 2012 at 21:21
Pablo MescherPablo Mescher
25.7k6 gold badges30 silver badges33 bronze badges
-
#1
как узнать путь к php — на сервере с скрипта
как узнать путь к php — на сервере с скрипта ?
когда php установлен как cgi — понятно есть переменная в
$_SERVER [‘не помню точно’]
а когда как модуль такой переменой нет а надобы!
— спросить у хостера нет возможности!
-
#2
Если нет возможности спросить у хостера — значит, скорее всего и нет возможности его запускать.
-
#3
По чему так критично:
скорее всего и нет возможности его запускать
Пишеться прога — и неохота такими настройками напрягать пользователя -!
Потому и спрашиваю сам туплю не могу догнать!
-
#5
Re: как узнать путь к php — на сервере с скрипта
Автор оригинала: texrdcom
а когда как модуль такой переменой нет
Это бессмысленно, когда php как модуль.
-~{}~ 07.07.05 19:35:
Автор оригинала: kruglov
bash$ which php
Тоже не истина в последней инстанции. Самый правильный вариант — спросить у хостера. Если это сложно или не возможно, то — менять хостера..
-
#6
а переменная _FILE_ не поможет?
-
#7
Автор оригинала: kvf77
а переменная _FILE_ не поможет?
Это совсем не то.
__FILE__ (case-insensitive)
The name of the script file presently being parsed. If used within a file which has been included or required, then the name of the included file is given, and not the name of the parent file.
-
#8
SibProgrammer
сорри, стормозил
Я вообще-то не понимаю предмета разговора, когда PHP модулем стоит, то Apache и собственно интерпретатору php.exe вообще нафиг не нужен — потому и нельзя узнать где он стоит — нафига это знать, коли он не юзается?
-
#9
нафига это знать, коли он не юзается
Как я понимаю, автору топика нужен php cli для выполнения каких-то специфичиских задач, например, вызова скрипта по cron’у. Например, из вывода phpinfo автор сделал вывод (сорри за тафтологию), что php работает как модуль и захотель его заюзать под свои нужды. Выше уже есть объяснение, что это не решение.
Чтобы в дальнейшем не домысливать за автора, то что ему нужно, пусть автор скажет зачем ему путь до php? И возможно ему предложать альтернативы.
P.S. У хостера вообще, например, может не быть php cli.
-
#10
Уточнение
1) Надо для запуска скриптов через cli — через крон
2) Программа платформо не зависма — windows unix
———
-~{}~ 08.07.05 11:55:
P.S. У хостера вообще, например, может не быть php cli.
Не особо точно всегад можно запустить скрипт
через /usr/bin/php index.php!
нужен просто скомпилированный php
-
#11
kruglov уже написал как путь узнать.
Если из php-скрипта, то:
PHP:
$path_to_php=system("which php");
А узнать есть ли вообще CLI поможет
[m]php_sapi_name[/m]
P.S.
Можно ещё в массиве, возвращаемом get_defined_constants(), поискать константу PHP_BINDIR
-
#12
Автор оригинала: baev
kruglov уже написал как путь узнать.
Если из php-скрипта, то:PHP:
$path_to_php=system("which php");
А я в свою очередь написал, что это не истина в последней инстанции. Может и ничего не выдаваться, а php cli в системе присутствовать.
Автор оригинала: baev
А узнать есть ли вообще CLI поможет
[m]php_sapi_name[/m]
Не поможет.
-~{}~ 08.07.05 15:59:
Автор оригинала: texrdcom
1) Надо для запуска скриптов через cli — через крон
…
P.S. У хостера вообще, например, может не быть php cli.
Как запукскать скрипты по крону без использования php cli можно почитать, например, в этом топике:
http://phpclub.ru/talk/showthread.php?s=&threadid=68205
Серваки и VDS у меня работают на Ubuntu, поэтому, волей-неволей, приходится изучать консольные команды, чтобы не дергать саппорт по каждому пустяку.
Буду периодически постить всякие полезные команды и возможности, необходимые вебмастеру, которые мне пришлось гуглить. А то, бывает, забуду как делал и приходится гуглить по-новой.
Сегодня, чтобы запустить CRON, потребовалось узнать путь к php. Оказалось, что есть специальная команда, которая показывает путь к приложению, которое обрабатывает заданный файл.
Вводим:
which php
Получаем (в моем случае)
/usr/bin/php
Или
which sh
Имеем:
/bin/sh
Прикольно, ёпта!
UPDATE: Забил на это дело — запустил крон через wget — сразу надо было так сделать
Сделал страничку Памятка по Ubuntu — буду там складировать все.
- Рубрики: заметки про Ubuntu
Содержание
- Блог Дяди Я ши
- Поиск
- Follow me
- DoFollow
- Категории
- Архивы
- Метки
- Ubuntu: как найти путь к php
- 36 комментариев to Ubuntu: как найти путь к php
- Настройка файла php.ini
- Расположение и синтаксис php.ini
- Настройка файла php.ini
- Вывод ошибок в php
- Ограничения ресурсов
- Директории по умолчанию
- Загрузка файлов
- Настройка расширений
- Выводы
- Настройка PHP в Linux
- Введение
- Установка PHP
- Настройка PHP
- Проверка
- Где лежит php ini
- Причины для поиска php.ini
- Как найти данный файл
- Ищем файл настроек PHP в популярных CMS
- Расположение php.ini в ОС Linux разных версий и сборок
- Как настроить php.ini под свои потребности?
- Жонглируем версиями PHP в системе
Блог Дяди Я ши
В интернете деньги есть!
Поиск
Follow me
DoFollow
Категории
Архивы
Метки
Ubuntu: как найти путь к php
Серваки и VDS у меня работают на Ubuntu, поэтому, волей-неволей, приходится изучать консольные команды, чтобы не дергать саппорт по каждому пустяку.
Буду периодически постить всякие полезные команды и возможности, необходимые вебмастеру, которые мне пришлось гуглить. А то, бывает, забуду как делал и приходится гуглить по-новой.
Сегодня, чтобы запустить CRON, потребовалось узнать путь к php. Оказалось, что есть специальная команда, которая показывает путь к приложению, которое обрабатывает заданный файл.
Получаем (в моем случае)
Сделал страничку Памятка по Ubuntu — буду там складировать все.
36 комментариев to Ubuntu: как найти путь к php
Я себе распечатку сделала всех команд. Так намного проще — они всегда под рукой, и гуглить по 10 раз не надо.
Без командной строки и базовых команд никуда=-) Это уж специфика линукса)
Я не настолько бахнутая на всю голову. Только часто используемых.
«Я себе распечатку сделала всех команд. Так намного проще — они всегда под рукой, и гуглить по 10 раз не надо»-и на сколько страниц все это получилось?
Немного больше, чем здесь ubuntu-repository.blogspot.com/2010/10/ubuntu_01.html. 12-м шрифтом и единичным интервалом получилось 3 листа А4.
Подскажите где мне их надыбать! Есть какие либо ссылочки? Дайте кто нибудь если не жалко!
Ну почему нельзя обойтись просто оконным интерфейсом! надоела комстрока…
Тоже поддерживаю идею с распечаткой команд как «Алена» рекомендует — удобно!
Ну вы прям спасаете своими статьями) спасибо.
мне проще на комп,распечатки это в прошлом
Я сейчас внедряю Linux на работе, так что сделал для себя такую шпаргалку, куда периодически заглядываю — http://www.linuxatwork.ru/2011/0…ommand-in-brief/ Все сгруппировано по типам команд
Таки прикольно, ёпта! )))
Четко! надо проверить
Видел в инете специальные обои с самыми нужными командами линукса.
Спасибо за инфу, очень полезно!
Я для себя основные команды вынес на отдельный файл, а так же распечатал на формате А4. Сейчас это дело всегда под рукой. Господи, когда же вы блог почистите по исходящим… Так же нельзя как бэ… Яндекс не велит… У вас много пустого текста в комментах…
Работаю инженером-программистом в сервисном центре и Линукс сервера моя основная специфика, графический интерфейс конечно хорошо, но он слишком ограничен, с помощью команд же можно произвести более тонкие настройки!
А чё ВДС-та? Реальные вебпацаны переходят на реальные выделенные серваки!)Получается даже выгоднее, чем ВПС и ВДС. Готов скинуться)
спасибо автора за статью
Сделал распечатку основных команд и не парься)) и поисковиком пользоваться не надо))
Спасибо, никак не мог найти путь к php. подписался на вас, буду заглядывыать иногда.
Обычно на Ubuntu, когда ставят веб-сервер, часто бывают проблемы с алиясами. Было бы здорово про это почитать, ибо я сам до конца не въехал, что и к чему там.
смотря как ставить пхп — модулем или библиотекой. Чтоб он постоянно в памяти висел или подгружалмя
Довольно интересно…) Надо будет обязательно воспользоваться вашими советами) Вам бы отдельную категорию выделить под это дело…
У меня изначально стаяло Ubuntu на ноуте, но решила что это не для меня и сейчас для меня нет ничего лучше, чем Linux/
Интернет магазин автозапчастей для иномарок autocomponent63.ru — это качественные комплектеющие, лучшие специалисты и комфортность заказа. Потребность купить запчасти для авто возникает регулярно, ведь машины изнашиваются по частям. И с этим согласятся все собственники авто. Рынок запчастей для автомобилей сегодня – пестр и просторный, с этим также трудно не согласиться. Именно по-этому подбор запчастей для иномарок так же как и поиск запчастей по авторазборам для иномарок может вызвать трудности. Но не для тех, кто обратился в наш магазин запчастей для машин autocomponent63.ru. Если Вы ищете автозапчасти, аналоги автозапчастей, авторазбор, дешевые запчасти, запчасти в Кинеле, запчасти для иномарок в Самаре – будьте уверенны, что Вам очень повезло. Каталог запчастей для автомобилей на сайте нашего магазина – прост и удобен. К тому же, здесь Вы увидите богатейший ассортимент. Единственное, чего чего здесь не найти – это б/у запчасти и детали сомнительного происхождения, ведь мы гарнтируем качество. Не нужно больше спрашивать у поисковика, где найти автозапчасти официальный сайт, то, что Вам нужно – это autocomponent63.ru.
Итернет Магазин запчастей — автозапчасти самара
Отличное решение со списком команд. Взял на вооружение.
Источник
Настройка файла php.ini
Интерпретатор php может поставляться в виде модуля для Apache, выполнять скрипты из командной строки или в виде отдельного сервиса php-fpm. Эти сервисы отличаются своими возможностями, и предназначением, но для любого вида интерпретатора нужно задать базовые настройки, например, рабочая папка, включенные расширения, отображение ошибок и так далее. Все эти настройки задаются через файл php.ini. В этой инструкции мы рассмотрим как выполняется настройка файла php.ini в операционных системах Linux, хотя все информация подойдет и для Windows.
Если у вас еще не установлен интерпретатор языка программирования php, то вы можете ознакомиться со статьей установка lamp в Ubuntu 16.04.
Расположение и синтаксис php.ini
Для каждой версии интерпретатора конфигурационный файл php.ini находится в отдельной папке. Но все конфигурационные файлы находятся в папке /etc/php, например, /etc/php5:
Если вы собираетесь использовать несколько из этих интерпретаторов, то вам придется указывать настройки для каждого из них отдельно. Вы можете убедиться, что в каждой из папок лежит файл php.ini.
Что касается синтаксиса файла, то он разделен на секции, сначала идет секция настройки php, которая разделена на подсекции в зависимости от типа настроек, дальше идут секции настройки разных модулей. Синтаксис самих настроек очень прост, он соответствует привычному синтаксису ini файлов. Строка начинается с имени настройки, затем следует знак равно, а за ним значение:
имя_настройки = значение_параметра
Символами [] обозначается имя секции, например, [PHP], а символ ; означает комментарий, он и все символы после него не читаются интерпретатором. А теперь рассмотрим как выполняется настройка php.ini и переберем самые важные параметры.
Настройка файла php.ini
Для удобства ориентирования мы разобьем все параметры по категориях в зависимости от их назначения. Вам будет достаточно найти нужный параметр и изменить его значение. А теперь откройте файл настроек php, например, для модуля apache и перейдем к настройке. Чтобы избежать ошибок не добавляйте новые строки, а ищите уже существующие и изменяйте значения на нужные:
sudo gedit /etc/php5/apache/php.ini
Сначала идет немного информации о самом файле в виде комментариев, затем интересующие нас настройки.
Вывод ошибок в php
Настройка php 7 обычно начинается с конфигурации вывода ошибок. Все настройки вывода ошибок находятся в разделе Error handling and logging. По умолчанию вывод ошибок на экран во время выполнения скрипта отключен. Это сделано для того, чтобы пользователи не смогли увидеть ничего лишнего. Вместо этого, все ошибки записываются в лог файл. Если вы используете php на домашнем компьютере, то такие меры не нужны и вы можете сразу выводить все на экран:
Замените off на on. В php используются различные типы ошибок, например, критические, предупреждения, ошибки синтаксиса, с помощью строки error_reporting вы можете включить вывод только определенных типов ошибок:
Если нужно объединить несколько типов ошибок, то используйте символ &, а для отключения отображения поставьте перед типом знак
. Приведенный выше пример отображает все ошибки (E_ALL), кроме сообщений об устаревших функциях (E_DEPRECATED). Вы можете отключить все типы использовав 0:
Включите запись ошибок php в лог файл, если не выводите их на экран:
Чтобы не засорять лог однотипными сообщениями можно игнорировать повторяющиеся ошибки в пределах одного исполнения:
Ограничения ресурсов
Если бы скрипты php никак не ограничивались в ресурсах, то они запросто могли бы перегрузить сервер и не дать ему нормально работать. Поэтому, по умолчанию php устанавливает жесткие ограничения, но, возможно, вам нужно будет их немного ослабить.
Если указать 0, то скрипт может выполняться бесконечно. Вы также можете ограничить время, на протяжении которого скрипт будет загружать данные, 60 секунд:
Максимальное количество переменных в GET и POST:
Следующий параметр задает максимальное количество памяти, которую может использовать один скрипт во время своего выполнения, в мегабайтах:
Вы можете ограничить область действия php в системе с помощью опции openbase_dir, она указывает папку, выше которой скрипт не может получить доступ к файловой системе:
С помощью директив disable_functions и disable_classes вы можете отключить использование в скриптах определенных функций или классов, например, это может быть полезно для веб-хостингов. В этом примере мы отключаем использование функции ini_set, которая позволяет менять настройки php из скрипта:
Директории по умолчанию
Файл настройки php.ini позволяет указать пути в файловой системе по умолчанию для различных действий. Вы можете задать папки где система будет искать скрипты, если вы попытаетесь подключить их с помощью инструкции include:
Папка с модулями php:
Папка для записи временных файлов:
Загрузка файлов
Для того чтобы пользователи могли загружать свои файлы на сервер, например, фото, нужно включить эту функцию в php:
Максимальный размер загружаемого файла:
Максимальное количество файлов, которые может загрузить один скрипт:
Настройка php.ini практически завершена, нам остались лишь расширения.
Настройка расширений
Расширения позволяют очень сильно увеличить функциональность php. Например, благодаря расширениям вы можете использовать в своих скриптах базы данных mysql, postgresql, mysqli, sqlite, графическую библиотеку gd и многое другое. Все это включается в этом разделе.
Для включения расширения достаточно убрать комментарий перед строкой с его командой, например:
extension=php_mysql.so
extension=php_mbstring.so
extension=php_pgsql.so
Обратите внимание, что для windows расширение будет иметь формат dll, но для linux нужно использовать so. В следующих секциях идет настройка каждого из расширений, но мы их рассматривать не будем потому что они обычно не требуют настройки.
Выводы
В этой статье мы рассмотрели как выполняется настройка php на сервере или обычном компьютере для разработки веб-сайтов. Файл настроек php имеет довольно простую структуру и с ним довольно не сложно справиться. После завершения всех настроек и сохранения изменений не забудьте перезагрузить веб-сервер или сервис php-fpm.
Вообще говоря, php-fpm это отдельная тема, потому что там есть много дополнительных настроек, и, возможно, мы рассмотрим его в одной из следующих статей. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Настройка PHP в Linux
Четверг, 10 Октябрь 2013 00:00
Введение
Данная статья написана для версии PHP 5.4.26, но также походит для других версий PHP. От версии дистрибутива Linux ничего не зависит, в экспериментах были опробованы CentOS 6.5, CentOS 7.0, Fedora 17, Fedora 20.
Установка PHP
1.Запустим yum со следующими параметрами:
Настройка PHP
1. Увеличение объема памяти PHP-скрипта
В файле /etc/php.ini заменим значение memory_limit = 16M на memory_limit = 128M
2. Увеличение максимального времени выполнения PHP-скрипта
В файле /etc/php.ini заменим значение max_execution_time = 30 на max_execution_time = 120
3. Увеличение размера максимальной загрузки PHP-скрипта
В файле /etc/php.ini заменим значение max_upload_size = 2M на max_upload_size = 50M
В файле /etc/php.ini заменим значение post_max_size = 8M на post_max_size = 50M
4. Разрешаем использовать короткие теги
5. Создание папки /usr/share/phpinfo
6. Создание файла /usr/share/phpinfo/index.php со следующим содержанием:
7. Изменение прав доступа к файлу index.php
8. Создание файла /etc/httpd/conf.d/phpinfo.conf со следующим содержанием:
#phpinfo – функция PHP для текущей конфигурации
# По умолчанию разрешен только локальный хост
9. Перезапуск сервера Apache
Или для CentOS/RHEL 7.0 и Fedora 20:
Проверка
Проверка из командной строки:
В результате прямо в консоли появится информация о версии интерпретатора.
Источник
Где лежит php ini
Работа с файлами сайта, размещенного на хостинге или собственной виртуальной машине, рано или поздно приведет вас к файлу основных настроек языка PHP. Узнать, где лежит php ini, можно несколькими способами, которые зависят от операционной системы. Если вы уже используете хостинг на Windows или Linux, информация по поиску и использованию данного файла вам пригодится.
Расположение файла редко зависит от того, какой конструктор сайтов или оболочку вы используете. Вордпресс, Джумла и другие оболочки будут использовать стандартный php.ini, доступный в ОС сервера, либо тот, что поставляется вместе с инструментарием Denver.
Причины для поиска php.ini
Изменения в php.ini для сайта производятся тогда, когда нужно расширить или снять ограничения на некоторые операции – например, объем импортируемых или экспортируемых данных. Снятие ограничений полезно, когда вы переносите сайт вместе с его содержимым с одной платформы на другую, так как настройки по умолчанию могут этому помешать. Продвинутые пользователи могут настроить здесь все, что связано с исполнением команд на языке PHP.
Как найти данный файл
Первый шаг в поисках подойдет для случая, когда сайт уже запущен на виртуальной машине или хостинге (или вы как раз собираетесь это сделать). Создайте в корневой папке сайта файл с расширением PHP, куда скопируйте следующий простой код:
Выполнение этого кода при открытии файла-страницы на сайте даст весьма подробную информацию об используемой версии PHP для вашего сайта, а также другие важные параметры. Там же будет и расположение файла php.ini на хостинге, которое используется в данный момент.
Основное правило при использовании Apache, Denver и других оболочек для виртуального сервера: вы фактически работаете с тем же Linux’ом, поэтому пути находятся стандартными для этой системы (и для самого PHP) способами, и, скорее всего, содержат соответствующие названия в именах папок. Если советы, касающиеся конкретных CMS, не помогли, просто ищите файл стандартным способом через создание страницы с phpinfo().
Ищем файл настроек PHP в популярных CMS
Даже пользователю-новичку может быть нужно найти, где находится php ini в WordPress или Joomla. Эти CMS дружелюбны к новым пользователям, но изменения параметров PHP все равно могут потребоваться по разным причинам. Файл обычно располагается в usrlocalphp5 относительно корневой папки, которую вам предоставляет хостинг, или папки, которая является рабочей для вашего внутреннего сервера. Метод с созданием проверочного файла, описанный выше, отлично работает в этом случае. Сами CMS обычно не вносят изменения в расположение php ini.
Будьте внимательны, когда заказываете хостинг веб сайтов – в некоторых случаях провайдер может ограничить или запретить изменение важных файлов, в том числе конфигурационных файлов PHP. Если возникают проблемы с поиском или открытием файла, есть смысл обратиться в техподдержку хостинга напрямую и уточнить, какие возможности вам доступны. В работе с собственным виртуальным сервером на Denver/Apache вас никто не ограничивает.
Если вы работаете в CMS Bitrix, вы можете и не найти файл настроек PHP в привычных директориях. Файл php ini в Bitrix лежит в разных папках в зависимости от версии самого Битрикса, поэтому создавайте тестовую страничку из первого примера и узнавайте точный путь оттуда. На некоторых хостингах вы можете найти путь /home/login, но туда обычно загружаются собственноручно созданные файлы, исходник для которых берется из /home/login/etc.
Расположение php.ini в ОС Linux разных версий и сборок
ОС Linux считается самой подходящей системой для регулярной работы с хостингом, сайтами на PHP и сопутствующими процессами. Если вы имеете непосредственный доступ к файловой системе сервера (являетесь его владельцем, например), то ищите php.ini по адресам /etc/, /usr/local/lib или /usr/local/php/etc/ – это самые распространенные места. PHP Zend размещает ини файл в /usr/local/Zend/etc/, учтите это, если используете данную оболочку. Вы можете задать и обычный поиск файла в системе, но так вы не узнаете, какой из нескольких файлов php.ini реально используется в данный момент для задания настроек сервера и сайта.
Вряд ли сложным исключением станет сборка ОС на базе Ubuntu. Место, где лежит php.ini в Ubuntu, определяется через phpinfo() и зависит от того, какой именно тип сервера вы используете. Для Apache это может быть /etc/php5/apache2, например. Если файл вовсе не удается обнаружить, то его можно создать вручную или скопировать из другого места, но только если знаете примерную структуру файла.
Как настроить php.ini под свои потребности?
Настройка важных и второстепенных параметров может быть весьма долгим процессом. Если у вас есть выделенный веб сервер, и вы хотите тонко настроить его работу, то рекомендуем обратиться к одному из онлайн руководств по параметрам в PHP.ini для продвинутых пользователей. Сам процесс задания параметров сводится к изменению числовых или текстовых значений для одной из строк-директив.
Вот некоторые из настроек, которые можно изменить, если владелец хостинга разрешает использовать php.ini и редактировать его самостоятельно:
Эти две строки важны для любого пользователя, желающего снять ограничение на объем загружаемых файлов. Эта настройка проверяется при импорте записей в Вордпресс и другие CMS того же типа, значения по умолчанию в целях безопасности сервера сделаны очень скромными. Если вы точно знаете, что делаете, можете значительно увеличить лимит, либо просто подогнать его под размер импортируемых файлов (если уже знаете их примерный объем).
Здесь задается максимальное время в секундах, которое отводится на выполнение каждого скрипта и загрузку данных в процессе его работы соответственно.
Эта важная директива задает максимальное выделение памяти под один отдельный скрипт. Не завышайте это значение, если не знаете, для чего это может понадобиться. Скрипты PHP достаточно легковесны с точки зрения обычного пользователя.
Источник
Жонглируем версиями PHP в системе
Проблема “ хочу новую версию %software% на моем стареньк … стабильном Debian/CentOS…” так же стара, как *nix-мир. Способов добиться желаемого хватает. Есть масса решений как притащить в систему несколько версий одного и того же софта. Но дальше хочется не просто иметь ещё одну версию, но и управлять тем, какая из версий доступна в системе по умолчанию, для конкретных приложений или пользователей.
Что делать, если хочется сменить системную версию PHP на одну из кастомных сборок? Давайте отталкиваться от того, что у вас на сервере уже установлено несколько версий PHP и вы хотите, чтобы в консоли команда php была конкретной версии, отличающаяся от той, что шла с системой. В этой статье я расскажу, как правильно это настроить, чтобы не было проблем с будущими пакетными обновлениями.
В качестве примера возьмём сервер на CentOS 7, где установлен родной PHP:
Также на сервере установлен наш Plesk с парой своих сборок PHP:
Допустим, мы хотим переключить систему на использование PHP 5.6 по умолчанию (переключать глобально PHP с версии 5.4 на 7 как-то сс… страшно — чему-то в системе может поплохеть от такого). Бинарь PHP 5.6 лежит у нас тут:
Как же сделать так, чтобы система использовала эту, нужную нам, версию PHP?
Сначала посмотрим на системную переменную PATH
В ней перечислен список директорий, в которых ищутся программы по имени. Главный нюанс — поиск в директориях происходит последовательно и используется первый найденный результат. Текущий путь до текущего бинарника PHP мы можем увидеть с помощью команды:
Теперь, давайте зарегистрируем все доступные версии PHP с помощью этой команды:
Цифры 10, 20 и 30 — это приоритет. Он работает для автоматического выбора, если администратор сам не выбрал конкретную версию. Самое большое число определяет выбор «по умолчанию».
Проверим, что php теперь указывает на созданную командой симлинку:
Давайте разберемся, что же update-alternatives сделала для нас:
Как видно, она создала цепочку симлинок и теперь по требованию просто меняет промежуточную симлинку на нужный нам бинарь.
Давайте переключимся на PHP версии 5.6, которая идет в поставке с Plesk’ом:
Проверяем, что переключение произошло:
Все отлично работает. Теперь в системе используется нужная нам версия PHP и я не опасаюсь, что эта настройка слетит при следующих пакетных обновлениях.
С помощью update-alternatives можно выбирать не только версию PHP, но и многие другие вещи, например разные версии phpunit или редактор по умолчанию в системе. Подход этот универсален для различных систем. Не изобретая своего велосипеда, используя существующие инструменты, вы можете быть уверенным, что не устроили для ваших коллег квеста “Ну почему оно так работает?!”. Настраивайте свою систему правильно.
Источник
whereis php php: /usr/bin/php /usr/lib64/php /etc/php.ini /etc/php.d /usr/share/php /opt/php81/bin/php /opt/php74/bin/php /opt/php71/bin/php /usr/share/man/man1/php.1.gz
/opt/php81/bin/php /opt/php74/bin/php /opt/php71/bin/php — это три альтернативные версии php.
Можно сделать алиас, чтобы вызывать нужную версию было удобно:
alias php81='/opt/php81/bin/php'
Алиас для каждого пользователя свой.
0
0
голоса
Рейтинг статьи