От автора: Если вы когда-нибудь запускали воздушного змея, то знаете, что это не так просто, хотя со стороны кажется наоборот. На самом деле нужно приловчиться, чтобы вовремя веревку натянуть или поймать воздушную «волну». Сегодня я расскажу, как запустить скрипт PHP и какие «веревочки» дергать, чтобы он не просто работал, а «летал»!
Особенности запуска
Как уже не раз упоминалось, – это серверный язык программирования, поэтому сделать так, чтобы результат работы его кода отобразился в браузере, будет немного сложнее. Для этого файл должен располагаться непосредственно на серверном пространстве. Для работы с PHP используются два типа сервера:
Обычный (удаленный) –предоставляется хостером.
Локальный – устанавливается на клиентской машине.
На стороне хостинга, чтобы увидеть результат работы скрипта, в строку браузера вводится адрес следующего формата: ваш_сайт.ru/имя_файла.php
На локальном сервере все обстоит иначе. Перед тем, как запустим PHP скрипт в браузере, выясним эти особенности.
В зависимости от применяемого сервера набираемый адрес может отличаться. Чаще всего в «наших» краях используются различные сборки с Apache, из которых самой распространенной является Денвер.
Запуск скрипта в Denwer
В «апачевских» сборках все скрипты запускаются в localhost. Чтобы продемонстрировать это на практике, создадим какой-нибудь интересный пример. Вот его код:
< html > < head > < meta http - equiv = "refresh" content = "1" > < / head > < body > < time style = "font-size:36px;color:rgb(102,255,102)" > = date ("H:i:s" ) ?> < / time > < / body > < / html > |
Разместите этот код в файле PHP и сохраните его на виртуальном диске, который создается после запуска локального сервера. У меня это файл test2.php.
Вверху на снимке обозначен путь, где нужно размещать созданный файл. У вас этот путь может немного отличаться, если при инсталляции Денвера задали другое имя виртуального диска.
Теперь разберемся, как запустить PHP скрипт на компьютере. Для этого в браузере следует указать адрес в формате: localhost/имя_файла.php
Начинаем мучиться
Может, слишком и унылое название для раздела, но я немного намучился, пока получилось открыть файл через командную строку. При попытке запуска система ПК выдавала вот такого рода ошибки:
Это странно, поскольку упоминаемые библиотеки у меня присутствовали в папке ext. Оказывается, что все дело в неправильно прописанных путях в конфигурационном файле php.ini.
В нем нужно найти раздел «Paths and Directories» и исправить путь, указанный в параметре extension_dir. Измените правые слэши на левосторонние и добавьте в начале адреса букву виртуального диска.
Если запустить PHP скрипт из CMD консоли опять не получается, тогда следует просмотреть все пути, упоминаемые в сообщении ошибки, и исправить их.
Если все хорошо
В командной строке системе нужно указать путь, где находится «экзешник» интерпретатора языка PHP. В Денвере он находится по этому пути: Z:\usr\local\php5
Здесь же расположен и глобальный файл конфигурации.
Запускаем командную строку Винды. Затем указываем системе путь к исполняемому файлу PHP. После чего задаем путь к нужному скрипту: Z:\usr\local\php5\php.exe Z:\home\localhost\www\test2.php
Но в итоге вы получите не совсем ожидаемый результат:
И все потому, что командная строка «не понимает» теги . Перед тем, как запустить PHP скрипт из командной строки, немного модифицируем код, чтобы он возвращал нам только текущее время без эффекта «часов».
В этой статье приводится пошаговое руководство по установке PHP для совместной работы с HTTP-сервером Apache на Windows . Эта процедура была протестирована как на Windows XP и Vista . Предполагается, что вы уже завершили установку Apache .
Этапы настройки PHP 5
1. Загрузите PHP 5
Прежде чем приступать к работе, скачайте копию PHP 5 со страницы загрузки . Загрузите защищенный пакет VC6 из раздела «Windows Binaries » — то есть не скачивайте установщик. Например, выберите пакет с пометкой «PHP 5.2.5 zip package », если на данный момент текущая версия — 5.2.5 .
Примечание : обратите внимание, что я не тестировал описанную ниже процедуру с версиями PHP 5.3 , только с 5.2.5 , которая была последней версией на момент написания статьи. Теоретически, те же действия должны выполняться и для установки PHP 7 .
2. Установите PHP 5
Создайте на жестком диске папку для PHP . Я предлагаю c:php , хотя вы можете использовать другое название и расположение папки. Лично я предпочитаю не использовать имена с пробелами.
Извлеките все файлы из загруженного архива в эту папку. Для этого просто дважды кликните по zip-файлу . А затем перетащите все файлы в папку c:php .
3. Тем, кто обновляет пакет: Удалите старый файл PHP.INI из каталога Windows
Если вы переходите на PHP 5 с более старой версии, перейдите в каталог Windows , (обычно это c:windows ), и удалите все файлы php.ini , которые вы ранее там размещали.
4. Настройка PHP
Перейдите в папку c:php и создайте копию файла php.ini-recommended . Назовите новый файл php.ini . Теперь у вас должен быть файл c:phpphp.in с содержимым, идентичным файлу c:phpphp.ini-recommended .
Примечание . Если вы используете Apache 1 нужно либо перенести файл php.ini в каталог Windows (c:windows ), либо настроить переменную среды PATH , чтобы включить в нее c:php . Если вы не знаете, как это сделать, просто переместите файл php.ini в папку c:windows . Не нужно этого делать, если используете Apache 2 , так как позже мы укажем в файле конфигурации Apache 2 директиву с расположением файла php.ini .
Для установки PHP на Windows 7 c помощью текстового редактора (например, такого как «Блокнот», который можно найти в разделе «Служебные» меню «Пуск» )? откройте файл php.ini . Возможно, придется внести следующие изменения в файл:
а) Включение коротких открывающих тегов
Найдите следующую строку:
short_open_tag = Off
Если для short_open_tag задано значение off , теги типа «» не будут считаться открывающими тегами для PHP-кода . В таком случае, чтобы начать PHP-скрипт , нужно будет скомпоновать скрипт с открывающим тегом типа "
Поскольку многие сторонние PHP-скрипты используют формат «», установка для этого параметра значения off создаст больше проблем, чем принесет пользы. Особенно, если учесть тот факт, что большинство, коммерческих хостингов, поддерживающих PHP , без проблем обрабатывают скрипты, использующие «< ?», в качестве открывающего тега. Чтобы изменить эту установку, отредактируйте данную строку следующим образом:
short_open_tag = On
b) Волшебные кавычки
При установке Apache PHP по умолчанию входящие данные автоматически не экранируются с помощью слэша. Если вы хотите, чтобы входные данные имели префикс обратной косой черты («»), например, чтобы воспроизводить настройки хостинга, найдите следующую строку:
magic_quotes_gpc = Off
и замените ее на:
magic_quotes_gpc = On
Не рекомендуется делать это, если на хостинге не задан данный параметр. Даже при установленном значении Off вы все равно можете использовать в PHP функцию addslashes() , чтобы добавлять слэши для конкретных частей данных,.
c) Использование глобальных переменных
Ряд старых скриптов при выполнении исходят из того, что все данные, отправляемые через форму, будут автоматически иметь переменную PHP с тем же именем. Например, если в форме есть поле для ввода с именем «something «, старые скрипты PHP исходят из того, что PHP-процессор автоматически создаст переменную с именем $something , которая содержит значение, заданное через это поле.
Если вы используете такие скрипты, нужно найти следующую строку:
register_globals = Off
и изменить ее на:
register_globals = On
Предупреждение : при установке PHP на Windows не делайте этого, если у вас нет сторонних скриптов, для работы которых это необходимо. При написании новых скриптов лучше всегда исходить из того, что для элемента register_globals установлено значение «Off «.
d) Отображение ошибок
На «живом » сайте ошибки в скрипте обычно регистрируются без отображения в файле ошибок PHP . Но на локальной машине, пока вы тестируете и отлаживаете PHP-скрипт более удобно отправлять сообщения об ошибках при их выявлении прямо в окно браузера. Так вы не пропустите ошибки, даже если забудете проверить файл журнала ошибок.
Чтобы PHP отображал сообщения об ошибках прямо в окне браузера, найдите следующую строку:
display_errors = Off
и измените ее на:
display_errors = On
Для этого параметра на работающем сайте всегда должно быть установлено значение Off .
e) Путь сессии
Если скрипт использует сессии, найдите следующую строку:
;session.save_path = "/tmp"
session.save_path задает папку, в которой PHP сохраняет файлы сессии. Поскольку папка /tmp в Windows не существует, то нужно установить другую папку. Один из способов — создать папку с именем c:tmp (как ранее мы создали c:php ) и указать для этого параметра данную папку. Если сделаете это, измените данную строку следующим образом:
session.save_path = "c:tmp"
Обратите внимание, что в дополнение к изменению пути я также удалил из строки префикс точки с запятой («;») .
Также можно использовать текущую папку TEMP на своем компьютере. Или создайте папку tmp в каталоге PHP , например c:phptmp и соответствующим образом настройте файл конфигурации. Возможных вариантов может быть много. Если вы не можете решить, какой из них выбрать, просто создайте c:php и сделайте, как я сказал выше.
f) Сервер SMTP
При установке PHP 5 5 если скрипт использует функцию mail() , и нужно, чтобы функция успешно отправляла почту на локальном компьютере, найдите следующий раздел:
; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = [email protected]
Измените его, указав адрес вашего SMTP-сервера и учетную запись электронной почты. Например, если ваш SMTP-сервер mail.example.com , а адрес электронной почты [email protected] , измените код так:
SMTP = mail.example.com smtp_port = 25 sendmail_from = [email protected]
Обратите внимание, что после этого, когда скрипт попытается использовать функцию mail() , для ее успешной работы нужно будет подключиться к своему интернет-провайдеру. Если вы не измените приведенные выше строки и попытаетесь использовать в скрипте функцию mail() , функция вернет код сбоя и отобразит сообщение об ошибке.
Как настроить Apache для PHP 5
Существует два способа установки Apache PHP . Первый: настроить его на загрузку PHP-интерпретатора в качестве модуля Apache . Второй: настроить его для запуска интерпретатора как бинарного CGI . Нужно применять только один из них. Выберите метод модуля, если на хостинге PHP также установлен, как модуль Apache , или используйте метод CGI , если он реализован на хостинге.
a) Запуск PHP 5 в качестве модуля Apache
Чтобы настроить Apache для загрузки PHP в качестве модуля для анализа PHP-скриптов , используйте текстовый редактор ASCII , чтобы открыть файл конфигурации Apache , httpd.conf .
Если вы используете Apache 1.x , файл находится в папке c:Program FilesApache GroupApacheconf . Пользователи Apache 2.0.x могут найти его в папке C:Program FilesApache GroupApache2conf , а пользователи Apache 2.2.x — в папке C:Program FilesApache Software FoundationApache2.2conf . Как правило, он находится в папке conf каталога, где установлен Apache .
Найдите раздел файла с операторами LoadModule . Объявления, перед которыми стоит символ хэша «#» , считаются закомментированными.
Если используете Apache 1.x , добавьте следующую строку после всех операторов LoadModule :
LoadModule php5_module "c:/php/php5apache.dll"
Если вы используете Apache 2.0.x , добавьте следующую строку после всех операторов LoadModule :
LoadModule php5_module "c:/php/php5apache2.dll"
Если вы используете Apache 2.2.x , добавьте следующую строку:
LoadModule php5_module "c:/php/php5apache2_2.dll"
Обратите внимание, что в этом примере установки PHP используется символ прямой косой черты («/» ) вместо традиционной обратной косой черты Windows («») . Это не опечатка.
Если вы используете Apache 1.x , найдите серию операторов «AddModule » и добавьте после всех строк следующую.
AddModule mod_php5.c
Затем найдите в файле блок AddType
и добавьте приведенную ниже строку после последнего оператора AddType
. Это нужно сделать независимо от того, какую версию Apache
вы используете. Для Apache 2.2.x
нужно найти строки AddType
в разделе
Если необходима поддержка других типов файлов, например «.phtml », добавьте их в список, например, так:
Тем, кто использует одну из версий Apache 2 , нужно указать местоположение ini-файла PHP . Добавьте следующую строку в конец httpd.conf .
PHPIniDir "c:/php"
Если вы использовали другой каталог, нужно будет изменить c:/php на правильный путь. Не забудьте применить косую черту («/» ).
Если используете Apache 1 , вы уже разместили файл php.ini в папке Windows или где-нибудь в PATH . Поэтому PHP должен будет найти его самостоятельно.
Запуск PHP 5 в качестве бинарного файла CGI
Если вы настроили для PHP 5 загрузку в качестве модуля Apache , можете пропустить данный раздел. Он предназначен для тех, кто хочет настроить для PHP запуск в качестве бинарного CGI .
Процедура для этого при установке PHP 7 одинаковая как для Apache 1.x , так и для всех версий серии 2.x .
Найдите часть конфигурационного файла Apache
, в которой находится раздел ScriptAlias
. Добавьте приведенную ниже строку сразу после строки ScriptAlias
для «cgi-bin
». Если используете Apache 2.2.x
, убедитесь, что строка расположена до закрытия IfModule> для раздела
Обратите внимание : если вы установили PHP в другом месте, например c:Program Filesphp , нужно указать соответствующий путь вместо c:/php/ (например, c:Program Filesphp) . Не забудьте, что здесь мы используем простую косую черту («/» ) вместо обратной косой черты Windows («» ).
ScriptAlias /php/ "c:/php/"
Apache
нужно настроить MIME
тип PHP
. Найдите блок комментариев AddType
, поясняющий его использование, и добавьте следующую строку ниже него. Для Apache 2.2.x
найдите строки AddType
в разделе
AddType application/x-httpd-php .php
Как и в случае установки PHP в качестве модуля Apache , можно добавить любые расширения, чтобы Apache распознавал их как скрипты PHP , например:
AddType application/x-httpd-php .phtml
Затем вам нужно указать серверу выполнять исполняемый файл PHP каждый раз, когда он встречает скрипт PHP . Добавьте в файл следующий код, например, после блока комментариев, поясняющих «Action «.
Если вы используете Apache 2.2.x , то добавьте код сразу после инструкции AddType , описанной выше; в Apache 2.2.x нет блока комментариев «Action «.
Action application/x-httpd-php "/php/php-cgi.exe"
Примечание : часть «/php/» будет распознана как ScriptAlias , своего рода макрос, который будет расширен Apache до «c:/php/» (или «c:/Program Files/php/» , если вы установили PHP там ). Другими словами, не помещайте в эту директиву путь «c:/php/php.exe» или «c:/Program Files/php/php.exe» , а используйте «/php/php-cgi.exe» .
Если используете Apache 2.2.x , найдите следующий раздел в файле httpd.conf :
Добавьте приведенные ниже строки сразу после раздела, который только что нашли.
c) Настройка индексной страницы по умолчанию
Этот раздел относится к варианту установки PHP на Windows в качестве модуля Apache , так и двоичного CGI .
Если вы создаете файл index.php и хотите, чтобы Apache загружал его как главную страницу сайта, придется добавить еще одну строку в файл httpd.conf . Найдите строку, которая начинается с «DirectoryIndex », и добавьте «index.php » в список файлов. Например, если у вас был такой код:
DirectoryIndex index.html
измените его на:
DirectoryIndex index.php index.html
При следующем входе на веб-сервер через имя каталога, например «localhost » или «localhost/directory/ », Apache отправит все скрипты из index.php или содержимое файла index.html , если index.php недоступен.
Перезапустите веб-сервер Apache
Перезагрузите сервер Apache . Это необходимо, чтобы Apache считал новые директивы конфигурации PHP , которые вы поместили в файл httpd.conf . Сервер Apache 2.2 можно перезапустить, дважды кликнув по иконке Apache Service Monitor в панели задач и нажав в появившемся окне кнопку «Перезапустить ».
Тестирование установки PHP
После установки PHP 5 5 или другой версии языка создайте php-файл со следующей строкой:
Сохраните в каталог Apache htdocs файл с именем test.php . Если используете «Блокнот », не забудьте сохранить имя «test.php » с кавычками. Иначе программа самостоятельно добавит расширение .txt .
Откройте данный файл в браузере, введя в адресную строку «localhost / test.php » (без кавычек ). Не открывайте файл напрямую через проводник — вы увидите только код, введенный ранее. Вам нужно использовать указанный выше URL-адрес , чтобы браузер попытался получить доступ к веб-серверу Apache , который запускает PHP для интерпретации скрипта.
Если все пройдет успешно, вы увидите страницу с информацией о настройке PHP . Поздравляю — вы успешно установили PHP и настроили Apache для работы с ним. Вы можете загрузить этот же файл test.php на свой хостинг и запустить его там, чтобы узнать, как хостинг настроил PHP у себя, и попытаться воспроизвести эти настройки на своей машине.
Если это не сработает, проверьте, не выдает ли установка PHP или установка Apache ошибок. Для этого откройте окно командной строки и запустите php-cgi.exe для файла test.php , например, c:phpphp-cgi test.php .
Если вы вызвали PHP из командной строки и увидели большой HTML-файл со всей информацией о конфигурации PHP , значит, PHP настроен правильно. Вероятно, проблема связана с конфигурацией Apache . Убедитесь, что вы перезапустили Apache после внесения изменений в конфигурацию и что вы правильно настроили веб-сервер.
В CLI SAPI есть три различных способа запуска PHP-кода:
Передать PHP-код напрямую в командной строке.
$ php -r "print_r(get_defined_constants());"
Необходимо быть особо осторожным при использовании этого способа, так как может произойти подстановка переменных оболочки при использовании двойных кавычек.
Замечание :
Внимательно прочтите пример, в нем нет открывающих и закрывающих тегов! Опция -r просто в них не нуждается. Их использование приведет к ошибке парсера.
Передать запускаемый PHP-код через стандартный поток ввода (stdin ).
Это дает мощную возможность динамически создавать PHP-код и скармливать его запускаемому файлу, как показано в этом (ненастоящем) примере:
$ some_application | some_filter | php | sort -u > final_output.txt
Указывание конкретного файла для запуска.
$ php my_script.php $ php -f my_script.php
Оба способа (с указыванием опции -f или без) запустят файл my_script.php . Вы можете выбрать любой файл для запуска, и ваши PHP-скрипты не обязаны иметь расширение .php и могут иметь любое имя и расширение, какое вы пожелаете.
Замечание :
Если вам нужно передать аргументы вашим скриптам, то при использовании опции -f первым аргументом должен быть -- .
Как и любое другое консольное приложение, бинарный файл PHP принимает аргументы, но ваш PHP-скрипт также может получать аргументы. PHP не ограничивает количество аргументов, передаваемых в ваш скрипт (оболочка консоли устанавливает некоторый порог количества символов, которые могут быть переданы; обычно этого лимита хватает). Переданные аргументы доступны в глобальном массиве $argv . Первый индекс (ноль) всегда содержит имя вызываемого скрипта из командной строки. Учтите, что если код вызывается на лету из командной строки с помощью опции -r , значением $argv будет просто дефис (- ). То же самое верно и для кода, переданного через конвеер из STDIN .
Вторая зарегистрированная глобальная переменная - это $argc , содержащая количество элементов в массиве $argv ((а не количество аргументов, переданных скрипту).
Если передаваемые вами аргументы не начинаются с символа - , то особых проблем быть не должно. Передавая в скрипт аргумент, который начинается с - создаст проблемы, так как PHP решит, что он сам должен его обработать. Для предотвращения подобного поведения используйте разделитель списка аргументов -- . После того как этот разделитель будет прочитан PHP, все последующие аргументы будут переданы в ваш скрипт нетронутыми.
# Эта команда не запустит данный код, но покажет информацию об использовании PHP
$ php -r "var_dump($argv);" -h
Usage: php [-f]
Однако, в Unix-системах есть еще один способ использования PHP для консольных скриптов. Можно написать скрипт, первая строка которого будет начинаться с #!/usr/bin/php (при необходимости подставьте корректный путь к вашему бинарному файлу PHP CLI). После этой строки можно поместить обычный PHP-код, заключенный в открывающие и закрывающие теги PHP. Как только вы установите корректные атрибуты запуска на файл (например, chmod +x test ), ваш скрипт может быть запущен как обычный консольный или perl-скрипт:
Пример #1 Запуск PHP-скрипта как консольного
#!/usr/bin/php
var_dump
($argv
);
?>
Подразумевая что этот файл называется test и находится в текущей директории, мы можем сделать следующее:
$ chmod +x test $ ./test -h -- foo array(4) { => string(6) "./test" => string(2) "-h" => string(2) "--" => string(3) "foo" }
Как видите, в этом случае не нужно заботиться о передаче параметров, которые начинаются с - .
Исполняемый PHP-файл может использоваться для запуска PHP-скриптов независимо от веб-сервера. В случае, если вы работаете в Unix-подобной системе, вам необходимо добавить ко всем скриптам специальную первую строку и сделать их исполняемыми, чтобы указать, какая из программ должна обрабатывать эти скрипты. На Windows-платформах вы можете назначить обработчик php.exe для файлов с расширениями .php либо создать пакетный (.bat) файл для запуска скриптов посредством PHP. Строка, добавляемая в начале скрипта для Unix-систем, не влияет на их работу в ОС Windows, таким образом вы можете создавать кроссплатформенные скрипты. Ниже приведен простой пример скрипта, выполняемого из командной строки:
Пример #2 Скрипт, предназначенный для запуска из командной строки (script.php)
#!/usr/bin/php If ($argc
!=
2
||
in_array
($argv
[
1
], array("--help"
,
"-help"
,
"-h"
,
"-?"
))) { Использование: } else { В приведенном примере мы используем специальную первую строку
для указания на то, что этот скрипт необходимо запускать при помощи
PHP. Поскольку мы работаем с CLI -версией, то
HTTP -заголовки выводиться
не будут. При написании консольных приложений на PHP вам доступны две
переменные: $argc и $argv .
Первая - количество переданных аргументов плюс один (имя выполняемого скрипта).
Вторая - массив переданных аргументов, начиная с имени скрипта с нулевым
индексом ($argv). Также в приведенном примере мы проверяем количество переданных аргументов.
В случае, если их более или менее одного, а также в случае, если переданный
аргумент был --help
, -help
,
-h
или -?
, мы выводим
справочное сообщение, подставляя имя выполняемого скрипта
динамически. В обратном случае мы просто печатаем полученный аргумент. Если вы хотите выполнить приведенный пример в Unix-системе, вам
необходимо сделать его исполняемым и просто выполнить из консоли
script.php echothis
или
script.php -h
. В Windows-системе вы можете
создать для этого пакетный файл: Пример #3 Пакетный файл для запуска PHP-скрипта из командной строки (script.bat)
@echo OFF
"C:\php\php.exe" script.php %* Предполагая, что скрипт называется
script.php и полный путь к CLI
php.exe совпадает с
C:\php\php.exe , приведенный пакетный файл
запустит скрипт с переданными вами параметрами:
script.bat echothis
либо
script.bat -h
. Вы также можете ознакомиться с расширением
Readline ,
которое может быть использовано для усовершенствования
консольного PHP-скрипта. Всех приветствую. Сегодня я начинаю писать в новую рубрику — PHP
! В основном здесь будут основы и азы этого языка. И для начала я вам расскажу, как открыть php-файл в браузере? Дело вот в чем: php — это серверный язык. Html и javascript — клиентские. Соответственно, для выполнения php-кода нужно запускать сервер, только в этом случае файл можно будет открыть. Собственно, тут только 2 пути: И я всячески советую вам именно второй вариант. Соответственно, перед тем, как начать открывать php файлы, нужно поставить себе такой сервер. Только не думайте, что это тяжело — справитесь буквально за пару минут. Из самых известных локальных серверов для Windows
могу выделить такие: Лично я работал только с денвером. О его установке можно было бы написать отдельно, но я решил, что ничего лучше официальной документации от разработчиков быть не может. В связи с этим, вот она . Об установке других серверов вы можете найти массу статей и видео в интернете. Сервер установлен? Отлично, теперь у вас все есть для запуска php-файлов. Собственно, чтобы это делать, ваш локальный сервер должен быть запущен. Вот такой ярлычок у вас должен быть на рабочем столе: Способ открытия php-файлов отличается от того, как открывать html. Вы не можете открыть их в браузере напрямую, в таком случае вы увидите только код. Чтобы открыть файл, нужно прописать сайт, на котором он находится, а также путь к файлу на сайте. Хочу подчеркнуть, что если ввести просто название сайта (без http:// , но со слешем), то сервер запустит index.php , если такой имеется. Пример:
Отлично, открылся калькулятор. Можно тестировать приложение. Это не нужно делать так, как html-файлы. То есть не через «Открыть с помощью»
— «Браузер»
. Так вы увидите только исходный код файла, но ни в коем случае не результат его выполнения. Все, на этом мы разобрались с тем, как открыть php-файл в браузере. Достаточно один раз установить и настроить локальный сервер, и в будущем вы сможете без проблем открывать файлы этого разрешения. На этом у меня на сегодня все. Надеюсь, у вас все получилось. До встречи. В CLI SAPI есть три различных способа запуска PHP-кода: Указывание конкретного файла для запуска. $ php my_script.php
$ php -f my_script.php Оба способа (с указыванием опции -f
или без) запустят
файл my_script.php . Нет ограничений, какой
файл запускать, и PHP-скрипты не обязаны иметь
расширение .php
. Замечание
: Если необходимо передать аргументы в скрипт,
то при использовании опции -f
первым аргументом должен быть --
. Передать PHP-код напрямую в командной строке. $ php -r "print_r(get_defined_constants());" Необходимо быть особо осторожным при использовании этого способа,
так как может произойти подстановка переменных оболочки при использовании
двойных кавычек. Замечание
: Внимательно прочтите пример: в нем нет открывающих и закрывающих тегов!
Опция -r
просто в них не нуждается. Их использование
приведет к ошибке парсера. Передать запускаемый PHP-код через стандартный поток ввода
(stdin
). Это дает мощную возможность создавать PHP-код и
скармливать его запускаемому файлу, как показано в этом
(вымышленном) примере: $ some_application | some_filter | php | sort -u > final_output.txt Как и любое другое консольное приложение, бинарный файл PHP
принимает аргументы, но PHP-скрипт также может получать
аргументы. PHP не ограничивает количество аргументов,
передаваемых в скрипт (оболочка консоли устанавливает
некоторый порог количества символов, которые могут быть переданы;
обычно этого лимита хватает). Переданные аргументы доступны
в глобальном массиве $argv . Первый индекс
(ноль) всегда содержит имя вызываемого скрипта из командной
строки. Учтите, что если код вызывается на лету из командной
строки с помощью опции -r
, значением
$argv будет просто дефис
(-
). То же самое верно и для кода,
переданного через конвейер из STDIN
. Вторая зарегистрированная глобальная переменная - это
$argc , содержащая количество элементов
в массиве $argv ((а не
количество аргументов,
переданных скрипту). Если передаваемые аргументы не начинаются с символа
-
, то особых проблем быть не должно.
Передаваемый в скрипт аргумент, который начинается с -
создаст проблемы, так как PHP решит, что он сам должен его
обработать. Для предотвращения подобного поведения
используйте разделитель списка аргументов --
.
После того как этот разделитель будет прочитан PHP, все последующие
аргументы будут переданы в скрипт нетронутыми. # Эта команда не запустит данный код, но покажет информацию об использовании PHP
$ php -r "var_dump($argv);" -h
Usage: php [-f] Однако, в Unix-системах есть еще один способ использования
PHP для консольных скриптов. Можно написать скрипт,
первая строка которого будет начинаться с
#!/usr/bin/php
(или же другой
корректный путь к бинарному файлу PHP CLI).
После этой строки можно поместить обычный PHP-код, заключенный
в открывающие и закрывающие теги PHP. Как только будут установлены
корректные атрибуты запуска на файл (например,
chmod +x test
), скрипт может быть
запущен как обычный консольный или perl-скрипт: Пример #1 Запуск PHP-скрипта как консольного
#!/usr/bin/php Подразумевая что этот файл называется test
и находится в текущей директории, можно сделать следующее: $ chmod +x test
$ ./test -h -- foo
array(4) {
=>
string(6) "./test"
=>
string(2) "-h"
=>
string(2) "--"
=>
string(3) "foo"
} Как можно увидеть, в этом случае не нужно заботиться о
передаче параметров, которые начинаются с -
. Исполняемый PHP-файл может использоваться для запуска PHP-скриптов
независимо от веб-сервера. В случае, работы в Unix-подобной системе,
необходимо добавить ко всем скриптам особую строку
#!
(называемую также "shebang") в начало файла
и сделать их исполняемыми, чтобы указать, какая из программ должна
обрабатывать эти скрипты. На Windows-платформах можно
назначить обработчик php.exe для файлов
с расширениями .php
либо создать пакетный
(.bat) файл для запуска скриптов посредством PHP.
Строка, добавляемая в начале скрипта для Unix-систем,
не влияет на их работу в ОС Windows, таким образом можно
создавать кроссплатформенные скрипты. Ниже приведен простой
пример скрипта, выполняемого из командной строки: Пример #2 Скрипт, предназначенный для запуска из командной строки (script.php)
#!/usr/bin/php If ($argc
!=
2
||
in_array
($argv
[
1
], array("--help"
,
"-help"
,
"-h"
,
"-?"
))) { Использование: } else { Скрипт приведенный выше включается в себя специальную Unix строку,
указывающую на его запуск с помощью PHP. Работа ведется с CLI -версией,
поэтому не будет выведено ни одного HTTP -заголовка. Также приведенный пример проверяет количество переданных аргументов.
В случае, если их больше или меньше одного, а также в случае, если переданный
аргумент был --help
, -help
,
-h
или -?
, выводится
справочное сообщение с использованием $argv , которое содержит
имя выполняемого скрипта. В противном случае просто выводится полученный аргумент. Для запуска приведенного примера в Unix-системе, необходимо сделать
его исполняемым и просто выполнить в консоли
script.php echothis
или
script.php -h
. В Windows-системе можно
создать пакетный файл: Пример #3 Пакетный файл для запуска PHP-скрипта из командной строки (script.bat)
@echo OFF
"C:\php\php.exe" script.php %* Предполагая, что скрипт называется
script.php и полный путь к CLI
php.exe совпадает с
C:\php\php.exe , приведенный пакетный файл
запустит скрипт с переданными параметрами:
script.bat echothis
либо
script.bat -h
. Также можно ознакомиться с расширением
Readline ,
которое можно использовать для усовершенствования
консольного PHP-скрипта. В Windows запуск PHP можно настроить без
необходимости указывать C:\php\php.exe и
расширение .php
.
Подробнее эта тема описана в разделе
?>
Это консольный PHP-скрипт, принимающий один аргумент.
echo
$argv
[
1
];
}
?>
Почему php не открывается так, как html?
Как открыть php файл после установки сервера?
Теперь вам нужно создать новый сайт для локального сервера. Опять же, я показываю только как это делать на денвере. Заходим в корневую папку сервера, тут находим папку home
. В ней будут все ваши сайты. Нужно создать новую папку, ее название и будет названием нового сайта. В созданной папке обязательно нужно создать папку www
, без этого ничего работать не будет. Последний этап — кидаем нужные php-файлы (которые нужно открыть) в папку www. Она является корневой для сайта.
Я создал на локальном сервере папку phptest , в ней — www , а уже в нее закинул нужные файлы. Отлично, теперь нужно перезапустить денвер, если он у вас был запущен. Если нет, просто запускаем. Теперь в браузерной строке нужно набрать: phptest/
Так вы попадаете на главную страницу сайта. Этот файл нужно назвать index.php . Например, я создал на php калькулятор, поместил его в phptest под названием calc.php . Прописываю адрес до этого файла:Как не нужно открывать php?
Вы не можете комбинировать любой из этих трех способов запуска кода.
var_dump
($argv
);
?>
?>
Это консольный PHP-скрипт, принимающий один аргумент.
echo
$argv
[
1
];
}
?>