- Environment Variables in PHP
- PHP Environment Variables
- More About PHP Environment Variables
- Example of Using Environment Variables in PHP
- Why $_ENV Is Empty
- Setting Environment Variables
- Related Functions of PHP Environment Variable
- Как добавить путь до PHP в переменную окружения PATH в Windows
- Нужно ли в Windows добавлять PHP в переменную окружения
- Как добавить PHP в системные переменные среды
- Как добавить путь до … в переменную PATH
- Что такое переменная PATH и для чего она нужна?
- Как добавить PHP в системные переменные среды?
- Категории
- Свежие записи
- How to Get and Set PHP Custom Environment Variables
- Setting Custom PHP Environment Variables
- Why We Need to User Custom Environment Variables
- How to Set Custom Environment Variables
- 1- Set Environment Variables Using putenv() function
Environment Variables in PHP
The most effective practice for application setup is by using PHP environment variables, whether its database credentials, secret data parameters, API keys, or anything between deploys are now visible to code through the environment. The PHP environment variable allows developers to gather specific types of data from existing servers dynamically. In this tutorial, you will learn how to use PHP environment variables and what their features are.
PHP Environment Variables
Various PHP frameworks such as Laravel, Symfony, and others use the PHP environment variable itself to store different security-related credentials and other configurations. An ENV var or environment variable is nothing but a key-value pair used in the global scope. These variables are explicitly stored for each environment. In other words, an environment variable can be defined as a dynamic-named variable that is provided in a program for affecting the way successively running processes will work in a system.
These variables are brought into the global namespace of PHP from the environment under which the PHP runs its parser. Many of them are provided by the shell under which PHP runs with different systems that are likely to run different kinds of shells. Other environment variables include the CGI variables, irrespective of whether they are running as a server module or as a CGI processor in PHP.
More About PHP Environment Variables
As a process starts in a program, it uses its defined variables or inherits from the parent process. These variables are used for discovering facts about the environment on which it is running. These variables include details about the preferred location where the temporary files are being saved or the path where the home directory resides within the system.
If you use a Unix operating system such as Linux, you can see this by typing the value of the $HOME environment variable in the terminal:
Command:
Result:
In case, you use the Windows OS; you have to open PowerShell and use the command:
Command:
Result:
Example of Using Environment Variables in PHP
He output will look something like:
Why $_ENV Is Empty
I want to use $_ENV so that I can get the username of the logged-in user, but it is empty?
Everyone should use the getenv() function instead, but if you require $_ENV, you need to do so. To use $_ENV, you must activate it in your php.ini file. Find «variable_orders» and set it to:
Setting Environment Variables
Let us now discuss how to set an environment variable so that it can be made accessible from your PHP application.
Result:
But in case you want to include your variables in a PHP program, the simplest way to do this is to state the environment variable well before your run command, something like this:
» APP_ENV=local php -r 'var_dump(getenv("APP_ENV"));'
Result:
Another well-known &convenient approach used in Unix systems is to make use of the «export» command. When the’export’ is used with an environment variable, it will be available in all successive commands until the shell exits.
» php -r ‘var_dump(getenv(«APP_ENV»));’
Result:
Related Functions of PHP Environment Variable
- getenv() is a PHP function used for returning the specific environment variable’s value
- putenv() is a PHP function that is used for setting the value of a particular environment variable
Как добавить путь до PHP в переменную окружения PATH в Windows
Вполне возможно, что вам не приходилось ранее сталкиваться с PATH и выражениями «переменная окружения», поэтому я кратко поясню, что это такое.
Переменная PATH содержит список папок, в которых Windows ищет исполнимые файлы.
В графическом интерфейсе, когда для запуска программ используются ярлыки, значение PATH не очень большое. Но если вы запускаете программу в командной строке, то PATH может пригодиться. Опять же, если вы указываете полный путь до файла, например, C:\Users\Alex\Documents\php.exe, то PATH не используется. Но если, например, вы запускаете программу только по имени файла или просто по имени (без файлового расширения), то запустится ли программа, будет зависеть от содержимого переменной PATH.
К примеру, я в командной строке пытаюсь запустить файл (без указания полного пути)
В этом случае операционная система посмотрит все записи PATH (там может быть указано несколько каталогов). Затем в каждом из этих каталогов Windows попытается найти файл php.exe. Если файл найден, то он будет запущен. Если файл не найден, то будет выведено соответствующее сообщение.
По сути, что-то дописывать в переменную PATH нужно только тем, кто много работает с командной строкой. К примеру, вы программист и размещаете свои программы в папке C:\MyApps и при этом вы часто запускаете свои утилиты командной строки. В этом случае вы можете добавить C:\MyApps в PATH и после этого для запуска программ из этой папки вам уже не нужно будет каждый раз вводить полное имя (например, C:\MyApps\parser.exe), а достаточно будет в командной строке ввести только имя файла:
Нужно ли в Windows добавлять PHP в переменную окружения
При установке и настройке PHP в Windows необязательно добавлять в PATH путь до PHP, но это рекомендуется делать.
Во-первых, вы сможете запускать PHP используя сокращённую запись:
C:\Server\bin\PHP\php.exe my_script.php
Во-вторых, ряд расширений (которые включаются в файле php.ini) работают некорректно, если вы не прописали в PATH путь до PHP; в том числе, это касается такого довольно популярного расширения как cURL. По идее — это какой-то баг этих расширений или PHP, но нам самим придётся исправлять ситуацию, поскольку эта проблема существует уже много лет.
Как добавить PHP в системные переменные среды
Нажмите кнопку Windows (это которая раньше была кнопкой «Пуск»), начните набирать «Изменение системных переменных среды»
и откройте соответствующее окно настроек.
Там нажмите «Переменные среды», откроется:
В окне «Системные переменные» найдите и кликните на Path, потом нажмите «Изменить»:
Далее «Создать» и впишите туда «C:\Server\bin\PHP\»:
Поднимите запись в самый Вверх:
Закройте все окна с сохранением сделанных изменений.
Как добавить путь до … в переменную PATH
В различных руководствах и документациях часто встречается пункт «добавьте путь до чего либо в переменную PATH». Что это за переменная и как в нее что-то добавить описано ниже, в этой заметке.
Что такое переменная PATH и для чего она нужна?
Если коротко, то PATH это такая переменная, с помощью нее операционная система ищет исполняемые объекты, которые вы пытаетесь вызвать в командной строке.
Другими словами, PATH позволяет запускать исполняемые файлы, без указания их точного местоположения на диске. Например, после установки Python на Windows, для выполнения скрипта Питона нам достаточно в командной строке набрать:
Нам не пришлось указывать точного пути до интерпретатора Питона (в моем случае C:\Users\Alex\AppData\Local\Programs\Python\Python37-32\python.exe) как раз из-за установленной переменной PATH.
соответствующую программу. Этим можно воспользоваться в своих целях двумя способами:
Как добавить PHP в системные переменные среды?
Для примера добавим PHP в переменную PATH.
У меня на компьютере интерпретатор php располагается в каталоге C:\xampp\php72, поэтому чтобы выполнить php скрипт в командной строке, мне нужно ввести:
Но согласитесь, гораздо удобней так:
К тому же некоторые программы, например IDE будут автоматически «понимать» где расположен интерпретатор php.
Итак, чтобы добраться до настроек переменной PATH, нам сначала нужно открыть Панель управления Windows, поскольку Микрософт постоянно меняет ее положение, проще всего найти ее через поиск:
Далее нужно выбрать Система -> Дополнительные параметры системы.
В последних версия Windows 10 Дополнительные параметры системы открываются по такому пути:
Сначала открываете Все параметры -> Система, далее слева внизу выбираете О программе и справа в списке будет нужный пункт Дополнительные параметры системы.
В открывшемся окне Свойства системы нужно выбрать вкладку Дополнительно и внизу будет кнопка Переменные среды.
Выбираем переменную среды Path и нажимаем Изменить. После этого нажимаем кнопку Создать и вводим пусть до папки, где расположен наш интерпретатор PHP, в моем случае C:\xampp\php72.
Далее везде нажимаем ОК, все, переменная среды для PHP сохранена.
Теперь, если перезапустить командную строку, можно выполнять php скрипты не указывая полного пусти к интерпретатору.
Категории
Свежие записи
How to Get and Set PHP Custom Environment Variables
like windows Environment Variables we have some variables at Apache/PHP level, there are some default Environment Variables while we can also set our custom variables according to need of our application.
Scope wise these are Super Global Variables, although we can limit our custom vars to our application only we have discussed it step 4 below.
Lets have a look at PHP Default Environment Variables, we can view all Environment Variables executing the following code.
it will give us the following array of different variables
we can access single variable by using $_SERVER array or getenv() function as below
Setting Custom PHP Environment Variables
Yes we can store our custom variables too, and that can be accessed and used in the same manner as default Environment Variables.
Why We Need to User Custom Environment Variables
In short we need to use Custom Environment Variables to make our application more secure.
While developing dynamic websites we connect to database, email systems and other external components or services through their credentials like Host, User, Password, Port etc.
It is bad practice to write these credentials inside our PHP coding because if somehow someone got access to our code he/she can gain access to our database, email or other connected service and can make unwanted changes or steel our sensitive information.
To avoid it we have an option to keep these credentials as variables outside PHP code in some secure directory of our server, Environment variables gives us this facility.
How to Set Custom Environment Variables
There are several ways to set Custom Environment Variables few of them are given below.
- Using putenv() function
- using .htaccess file
- using Apache config files (httpd.conf)
- using virtual hosts (httpd-vhosts.conf)
1- Set Environment Variables Using putenv() function
This method sets Environment Variable temporarily, once script is ended, Variable(s) set by this method will no longer exist. it can be set and accessed as the following code snippet.