Как запускать PHP-код

Вы здесь:
Главная — PHP — PHP Основы — Как запускать PHP-код


Данную статью я решил посветить всем начинающим изучать PHP, потому что у всех возникает одна и та же ошибка. Почему её допускают, не знаю, но допускают постоянно. Я без преувеличений скажу, что получил уже около сотни вопросов, на которые ответ будет дан в этой статье. Эта ошибка связана с неправильным запуском в PHP.

Как делают практически все новички:

  1. Создают PHP-файл (иногда HTML-файл, но это самые новички).
  2. Записывают туда PHP-код.
  3. И двойным кликом пытаются открыть его в браузере.

Результат, браузер код открывает, но исполнять его не торопится. А просто выводит какие-то куски кода обычным текстом, либо вообще ничего не выводит.

Ошибка данного подхода состоит в том, что ученик не понимает, что PHP — это серверный язык, а не клиентский. Это HTML или JavaScript клиентские языки, они, конечно, обрабатываются браузером. Но для PHP нужен интерпритатор. И вот данный интерпритатор запускается сервером.

Вывод: запускать PHP-код надо через сервер. Если у Вас Denwer, значит, через него.

Теперь, как запускать PHP-код через Denwer. Большинство новичков вновь делают ошибку. Они вроде бы всё делают правильно, создают нужные папки, перезапускают Denwer и вроде бы, осталось только правильно вызвать файл. Но тут снова ошибка: они вновь открывают файл просто в браузере (либо перетаскиванием файла в браузер, либо двойным кликом). Это легко можно заметить по адресу в адресной строке. Там будет что-то наподобие: file:///Z:\home\mysite.local\www\script.php.

А правильно запускать надо, вводя адрес виртуального хоста. То есть прямо в адресной строке браузера вводите: http://mysite.local/script.php — всё, теперь скрипт запустится и выведет свой результат.

Надеюсь, данная статья поможет многим новичкам, только начинающим изучать PHP.

Полный курс по PHP и MySQL: http://srs.myrusakov.ru/php


  • Создано 05.03.2012 16:29:04



  • Михаил Русаков

Предыдущая статья Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):


  1. Кнопка:

    <a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru//images/button.gif» alt=»Как создать свой сайт» /></a>

    Она выглядит вот так:


  2. Текстовая ссылка:
    <a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

    [URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]

myrusakov.ru

Как запустить скрипт PHP – особенности воздухоплавания

От автора: Если вы когда-нибудь запускали воздушного змея, то знаете, что это не так просто, хотя со стороны кажется наоборот. На самом деле нужно приловчиться, чтобы вовремя веревку натянуть или поймать воздушную «волну». Сегодня я расскажу, как запустить скрипт PHP и какие «веревочки» дергать, чтобы он не просто работал, а «летал»!

Особенности запуска

Как уже не раз упоминалось, PHP – это серверный язык программирования, поэтому сделать так, чтобы результат работы его кода отобразился в браузере, будет немного сложнее. Для этого файл должен располагаться непосредственно на серверном пространстве. Для работы с PHP используются два типа сервера:

Обычный (удаленный) –предоставляется хостером.

Локальный – устанавливается на клиентской машине.

На стороне хостинга, чтобы увидеть результат работы скрипта, в строку браузера вводится адрес следующего формата: ваш_сайт.ru/имя_файла.php

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

На локальном сервере все обстоит иначе. Перед тем, как запустим PHP скрипт в браузере, выясним эти особенности.
В зависимости от применяемого сервера набираемый адрес может отличаться. Чаще всего в «наших» краях используются различные сборки с Apache, из которых самой распространенной является Денвер.

Запуск скрипта в Denwer

В «апачевских» сборках все скрипты запускаются в localhost. Чтобы продемонстрировать это на практике, создадим какой-нибудь интересный пример. Вот его код:

<html>
<head>
<meta http-equiv=»refresh» content=»1″>
</head>
<body>
<time><?=date(«H:i:s»)?></time>
</body>
</html>

<html>

<head>

  <meta http-equiv=»refresh» content=»1″>

</head>

<body>

  <time><?=date(«H:i:s»)?></time>

</body>

</html>

Разместите этот код в файле PHP и сохраните его на виртуальном диске, который создается после запуска локального сервера. У меня это файл test2.php.

Вверху на снимке обозначен путь, где нужно размещать созданный файл. У вас этот путь может немного отличаться, если при инсталляции Денвера задали другое имя виртуального диска.

Теперь разберемся, как запустить PHP скрипт на компьютере. Для этого в браузере следует указать адрес в формате: localhost/имя_файла.php

Начинаем мучиться

Может, слишком и унылое название для раздела, но я немного намучился, пока получилось открыть файл PHP через командную строку. При попытке запуска система ПК выдавала вот такого рода ошибки:

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Это странно, поскольку упоминаемые библиотеки у меня присутствовали в папке 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

Но в итоге вы получите не совсем ожидаемый результат:

И все потому, что командная строка «не понимает» теги HTML. Перед тем, как запустить PHP скрипт из командной строки, немного модифицируем код, чтобы он возвращал нам только текущее время без эффекта «часов».

<?php
echo date(«H:i:s»)
?>

<?php

echo date(«H:i:s»)

?>

Как видите, наш «программный» змей поднялся довольно высоко. И все потому, что мы выбрали правильный «воздушный» поток и вовремя «дергали» за канат. На этом наше «воздухоплавание» подошло к концу. До следующего «попутного ветра» .

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Смотреть

webformyself.com

Как запустить php через denwer (чем открыть php) — HelpSet.ru

Многие часто спрашивают как запустить php через denwer или чем открыть php? Ну для начала нужен сам денвер конечно при условии, что вы запускаете его на вашем обычном компьютере. Сам же denwer пока ещё бесплатный! Для обычных людей первые пять пунктов написаны специально для вас:

  1. Сначала скачиваем и устанавливаем денвер с официального сайта (кстати, денвер будет работать если его просто переписать на комп, сохранив все папки и подпапки).
  2. Берём файл(ы) php и просто переписываем их в папку: c:\WebServers\home\test\www\. (По-умолчанию, уже есть test, а мы создаём свою папку 111 — рядом с test и полный путь будет такой: c:\WebServers\home\111\www\ не забываем внутри 111 создать www и уже в www — ваш файл php и никак иначе!)
  3. Запускаем денвер иконой run (будет написано добавлен хост 111 в чёрном окошке DOS) Если иконок нет, то найти их можно тут: c:\WebServers\denwer\utils\
  4. В браузере набираем: http://111/ВАШ_ФАЙЛ.php — ура, всё работает. (Если записали файл в test\www — то адрес такой: http://test/ВАШ.php)
  5. Для закрепления инфы в вашей голове, потренируемся: на компе: c:\WebServers\home\myfucking\www\programma.php в браузере будет выглядеть так: http://myfucking/programma.php
  6. Если, нужна База Данных MySQL, то путь к ней такой из браузера phpmyadmin: http://localhost/Tools/phpmyadmin/ логин=root, пароль=пусто
  7. Если нужны настройки MySQL my.cnf c:\WebServers\usr\local\mysql-5.1\
  8. Если нужны дополнительные «тонкие настройки» php.ini они тут: c:\WebServers\usr\local\php5\
  9. Настройки Apache тут: c:\WebServers\usr\local\apache\conf\
  10. Почта, отправляется в папку /sendmail ввиде *.msg файлов (для тех, кто хочет узнать ходит иди не ходит почта, для отправки во вне — есть опция в настройках)

После того, как установили denwer — настройки лучше не трогать, т.к. с полнейшим «фаршем» — PHP и так прекрасно работает в 99% процентах режимах. Есть модули и GD и Magic, XML, XLS, FDPF и прочие — уже включены. Был случай: казалось бы прописал, также как и на серваке модуль so библиотечку dll в винде — и всё завалилось — пришлось делать назад (как было) хотя в httpd.conf Apache она выключена, а работает оказывается из php5! PHP и MySQL самые предпоследние на момент публикации этой статьи. Поддерживают всё и вся! На этом ДЕНВЕРЕ я обкатывал самые извращенческие сайты и пардон — всё работало. Хочу отметить, что прежде чем писать: у меня не работает php, прочитайте ещё раз эту статью — всё просто, нажатием пары кнопок делается. Удачи в программировании друзья 🙂 DENWER хороший инструмент для  web разработчиков и web программистов, хочу сказать — СПАСИБО ЕГО РАЗРАБОТЧИКАМ!

Часто спрашивают: можно ли запускать php программы на iPhone или Android? Ответ Сисадмина — да можно, при наличии обычного браузера, но вам надо «расшарить» ваш домашний комп или прописать проброс локального адреса http:// (точно также, вы просматриваете обычные web-странички)

При добавлении ваших новых доменов в home — не забываем делать restart денвера — каждый раз после добавления новых!

А вот, то что КАК РАЗ «вводит в заблуждение» вас, пользователей и начинающих программистов (читаем — ФАЙЛ НЕ НАЙДЕН) — все, хватаются за голову и орут: Не работает, не работает, не работает… читаем 5 пункт ещё раз!!!!!!!!!!!

The requested URL /111/index.php was not found on this server.

Подсказка Денвера

Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл R:/home/localhost/www/111/index.php, которого не существует.

В случае использования CGI-скриптов, корректные пути к CGI-директориям следующие:

URL Куда указывает
http://***/cgi-glob/script.cgi /home/cgi-glob/script.cgi
http://***/cgi/script.cgi /home/***/cgi/script.cgi
http://***/cgi-bin/script.cgi /home/***/cgi-bin/script.cgi

и по второму аналогично

The requested URL /111/index.php was not found on this server.

 Это вводит вас в заблуждение, читаем пункты 1-5!!!!! и по-мимо дупацких подсказок ещё и включаем свою умненькую голову 🙂

Подсказка Денвера

Вы ошиблись при наборе URL в браузере. Вероятнее всего, сервер пытается найти файл R:/home/localhost/www/111/index.php, которого не существует.

В случае использования CGI-скриптов, корректные пути к CGI-директориям следующие:

URL Куда указывает
http://***/cgi-glob/script.cgi /home/cgi-glob/script.cgi
http://***/cgi/script.cgi /home/***/cgi/script.cgi
http://***/cgi-bin/script.cgi /home/***/cgi-bin/script.cgi

Ну и на последок: DENWER работает как с Windows 32-битной, так и 64-битной прекрасно, не затрагивая 2 оболочки ядра 64-битного процессора! Ну это для тех, кто сомневается. А программы php, я тестировал вот эти — и всё работает.

www.helpset.ru

PHP — Как запустить PHP из командной строки Windows в WAMPServer

Я новичок в php и хотел запустить php из командной строки. Я установил WAMP и установил «Системные переменные» в папку php (которая C:\wamp\bin\php\php5.4.3).

Когда я иду в Run -> CMD -> Тип php -a и нажмите ввод, он говорит interactive mode enabled, Но когда я пишу echo 'Hi'; это ничего не показывает.

Я даже не вижу ничего похожего на «php>», когда я печатаю php -a и нажмите ввод.

76

Решение

PHP CLI как его называют (php для интерфейса командной строки) называется php.exe
Оно живет в c:\wamp\bin\php\php5.x.y\php.exe(где x и y — номера версий установленного вами php)

Если вы хотите создавать php-скрипты для запуска из командной строки, тогда отлично, это просто и очень полезно.

Создайте себе командный файл, как это, давайте назовем его phppath.cmd :

PATH=%PATH%;c:\wamp\bin\php\phpx.y.z
php -v

+ Изменить x.y.z к действительному имени папки для версии PHP, установленной в WAMPServer

Сохраните это в одну из ваших папок, которая уже находится в вашей переменной PATH, чтобы вы могли запустить ее из любого места.

Теперь из командного окна перейдите в вашу исходную папку и запустите> phppath.

Тогда беги

php your_script.php

Это должно работать как сон.

Вот пример, который настраивает PHP Composer и PEAR, если требуется, и они существуют

@echo off

REM **************************************************************
REM * PLACE This file in a folder that is already on your PATH
REM * Or just put it in your C:\Windows folder as that is on the
REM * Search path by default
REM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
REM * EDIT THE NEXT 3 Parameters to fit your installed WAMPServer
REM **************************************************************


set baseWamp=D:\wamp
set defaultPHPver=7.1.9
set composerInstalled=%baseWamp%\composer
set phpFolder=\bin\php\php

if %1.==. (
set phpver=%baseWamp%%phpFolder%%defaultPHPver%
) else (
set phpver=%baseWamp%%phpFolder%%1
)

PATH=%PATH%;%phpver%
php -v
echo ---------------------------------------------------------------


REM IF PEAR IS INSTALLED IN THIS VERSION OF PHP

IF exist %phpver%\pear (
set PHP_PEAR_SYSCONF_DIR=D:\wamp\bin\php\php%phpver%
set PHP_PEAR_INSTALL_DIR=D:\wamp\bin\php\php%phpver%\pear
set PHP_PEAR_DOC_DIR=D:\wamp\bin\php\php%phpver%\docs
set PHP_PEAR_BIN_DIR=D:\wamp\bin\php\php%phpver%
set PHP_PEAR_DATA_DIR=D:\wamp\bin\php\php%phpver%\data
set PHP_PEAR_PHP_BIN=D:\wamp\bin\php\php%phpver%\php.exe
set PHP_PEAR_TEST_DIR=D:\wamp\bin\php\php%phpver%\tests

echo PEAR INCLUDED IN THIS CONFIG
echo ---------------------------------------------------------------
) else (
echo PEAR DOES NOT EXIST IN THIS VERSION OF php
echo ---------------------------------------------------------------
)

REM IF A GLOBAL COMPOSER EXISTS ADD THAT TOO
REM **************************************************************
REM * IF A GLOBAL COMPOSER EXISTS ADD THAT TOO
REM *
REM * This assumes that composer is installed in /wamp/composer
REM *
REM **************************************************************
IF EXIST %composerInstalled% (
ECHO COMPOSER INCLUDED IN THIS CONFIG
echo ---------------------------------------------------------------
set COMPOSER_HOME=%baseWamp%\composer
set COMPOSER_CACHE_DIR=%baseWamp%\composer

PATH=%PATH%;%baseWamp%\composer

rem echo TO UPDATE COMPOSER do > composer self-update
echo ---------------------------------------------------------------
) else (
echo ---------------------------------------------------------------
echo COMPOSER IS NOT INSTALLED
echo ---------------------------------------------------------------
)

set baseWamp=
set defaultPHPver=
set composerInstalled=
set phpFolder=

Вызовите этот командный файл, чтобы использовать версию PHP по умолчанию

> phppath

Или получить конкретную версию PHP, как это

> phppath 5.6.30

67

Другие решения

Я помню, как однажды, когда я наткнулся на эту проблему несколько лет назад, это связано с тем, что окна не имеют readline, а значит, и не имеют интерактивной оболочки, для использования php интерактивного режима без поддержки readline, вы можете сделать это вместо этого:

C:\>php -a
Interactive mode enabled

<?php
echo "Hello, world!";
?>
^Z
Hello, world!

После входа в интерактивный режим введите с помощью открытия (<?php) и закрытие (?>) php tag и заканчиваем контролем Z (^Z) который обозначает конец файла.

Я также вспоминаю, что нашел решение из комментария пользователя сайта php: http://www.php.net/manual/en/features.commandline.interactive.php#105729

36

Попробуйте использовать командный файл

  1. Открыть блокнот
  2. тип php -S localhost:8000
  3. сохранить файл как .bat расширение, server.bat
  4. Теперь нажмите на server.bat файл ваш сервер готов http://localhost:8000

зависимость

если вы получили ошибку, php не распознает внутреннюю или внешнюю команду
затем перейдите в переменную окружения и отредактируйте путь к php.exe
"C:\wamp\bin\php\php5.4.3"

12

Проблема, которую вы описываете, звучит так, будто ваша версия PHP может отсутствовать в модуле PHP readline, из-за чего интерактивная оболочка не работает. Я основываю это на эта ошибка PHP представление.

Попробуйте запустить

php -m

И посмотрите, появляется ли readline в выводе.

Могут быть веские причины для исключения readline из дистрибутива. PHP обычно выполняется веб-сервером; так что в большинстве случаев это не нужно. Я уверен, что вы можете выполнить код PHP в файле из командной строки, используя:

php file.php

Существует также phpsh проект, который предоставляет (лучшую) интерактивную оболочку для PHP. Тем не менее, некоторые люди имели проблемы с запуском его под Windows (я не пробовал
это сам).

редактировать:
В соответствии с документация здесь, readline не поддерживается в Windows:

Примечание. Это расширение недоступно на платформах Windows.

Итак, если это правильно, ваши варианты:

  • Избегайте интерактивной оболочки и просто выполняйте код PHP в файлах из командной строки — это должно работать хорошо
  • Попробуйте заставить phpsh работать под Windows

11

Если вы хотите просто запустить быстрый фрагмент кода, вы можете использовать опцию -r:

php -r "echo 'hi';"

-r позволяет запускать код без использования тегов скрипта <?..?>

10

Вы можете запустить php-страницы, используя php.exe
создайте php-файл с php-кодом и в cmd напишите "[PATH to php.ext]\php.exe [path_to_file]\file.php"

3

ОБНОВЛЕНО
После нескольких исследований лучшим решением было использовать эту информацию другой поток чтобы избежать ввода ctrl + z, а также от вывода осыпи.
Итак, вместо php -a ты должен использовать call "php.exe" -f NAMED_SCRIPT.php

OLD
Readline невозможен в Windows, поэтому ни одна из существующих оболочек php, написанных на php, не будет работать. Но есть обходной путь, использующий интерактивный режим.

2 общие проблемы здесь. Вы не можете видеть результат, пока не выполнит команду CTRL Z, чтобы указать финал кода / файла, такого как EOF. Когда вы это сделаете, в большинстве случаев будет напечатан результат и быстро закрытое окно. В любом случае вы вернетесь в cmd, а не в интерактивный режим.

Сохраните это содержимое в файл .bat и определите свой PHP PATH в переменных Windows, или вместо этого измените php.exe на «полный путь к exe»:

::
:: PHP Shell launch wrapper
::
@ECHO off
call "php.exe" -a

echo.
echo.

call "PHP Shell.bat"

Это простой пакетный запуск — режим php.exe. Когда он запускает php, остановите скрипт, даже если пауза не написана, потому что он «в» интерактивном ожидании ввода. Когда вы нажимаете CTRL Z, получаете SIGSTEP (следующий шаг), а не SIGSTOP (закрытие, обычно CTRL + C), а затем читаете следующее вторжение, которое является рекурсивным вызовом самого .bat. Поскольку вы всегда находитесь в режиме PHP -a, нет команды выхода. Вы должны использовать CTRL + C или нажать крест на выходе с помощью мыши. (Нет alt + f4)

Вы также можете использовать конвертер «Bat to Exe» для простоты использования.

2

Следующее решение специально для окружающей среды:

Это немного меня обмануло, я попробовал все остальные предложения, $ PATH и т. Д. Даже искал реестр Windows в поисках подсказок:

GUI (wampmanager) показывает, что у меня выбрана версия 7, и да, если я phpinfo () на странице в браузере, он сообщит мне свою версию 7.x.x, а php -v в командной строке выдаст 5.x.x

Если вы щелкнете правой кнопкой мыши на заголовке wampmanager и выберите icon-> tools-> delete неиспользуемые версии и удалите старую версию, дайте ей перезапустить службы, после чего командная строка вернет 7.x.x

Это решение означает, что у вас больше нет старой версии, если вы хотите переключаться между версиями php, но есть файл конфигурации в C: \ wamp64 \ wampmanager.conf, который, по-видимому, указывает версию для использования с CLI (параметр называется phpCliVersion) , Я изменил его, перезапустил сервер … думал, что решил это, но безрезультатно, возможно, я был немного нетерпеливым, поэтому у меня есть ощущение, что в этом может быть какой-то пробег.

Надеюсь, что это помогает кому-то

1

web-answers.ru

Как запускать PHP-код

Данную статью мы пишем для того, чтобы ответить на очень часто возникающий вопрос у новичков. Рано или поздно, те, кто только начал изучать язык PHP сталкивается с проблемой его запуска. Честно, непонятно, почему неопытные совершают одну и ту же ошибку на постоянной основе. В этой статье мы попытаемся решить вашу проблему.
Начнем сначала. Как выглядит процесс создания и открытия PHP-файла ученикам:

  1. Они создают php-файл. Часто вместо него делают HTML. Но это уже мега-новички. Поэтому мы часто советуем проконсультироваться с разработчиками php, которые хорошо разбираются в данном процессе, если вы только ступили на путь создателя.
  2. После того как файл готов, вписывают туда код.
  3. И, момент, ошибка, пытаются открыть файл в браузере при помощи двойного клика.

В результате, обозреватель пытается открыть файл. Он его запускает, но толку ноль. Данный скрипт не приводится в исполнение. Единственное, что вы можете увидеть – это какие-то островки текста. В худшем случае ничего не откроется.

Ошибка заключается в непонимании многими пользователями, что php – это не клиентский язык, он исполняется на стороне сервера, то есть – это серверный язык. То есть, это не HTML, который легко обрабатывается и воспроизводится при помощи обозревателя.

PHP не так прост. Для него необходим интерпритатор, то есть необходимо произвести построчный анализ. И в случае с php, программу для такого анализа запускает сервер.




Из всего этого можно сделать вывод, что php нужно запускать через сервер. Если у вас Windows Serwer, то выполняем запуск при помощи него. Если Denwer тогда интерпритатор запустит он.

Ну, вроде разобрались. Попытались запустить и опять ничего не вышло.

В этом случае многие новички из-за неопытности совершат новую ошибку. Как бы, вначале все идет хорошо. Создаются папки, при этом перезапускается сервер. И вот приходит момент запуска. И они снова лезут в браузер. Кликают мышкой по файлу, перетаскивают его в поисковую строку и т.д. Это становится понятным после того, как проанализировать данные, которые были введены в обозревателе. В нем будет путь чем-то напоминающий такой file://P://site.local.http/script.php. Невооруженным глазом понятно, что адрес подозрительный.


А нужно делать по-другому. Старт производится введя адрес виртуального хоста. То есть, в обозревателе в строке вы набираете что-то типа http://site.local/script.php. После этого скрипт с легкостью запустится.

Именно таким образом быстро и без проблем можно запустить данный файл.



Оцените статью: Голосов 1

www.winblog.ru

Как запустить PHP из командной строки Windows PHP Lang

Я новичок в php и хочу запустить php из командной строки. Я установил WAMP и установил «Системные переменные» в свою папку php (это C:\wamp\bin\php\php5.4.3 ).

Когда я иду в Run -> CMD -> Введите php -a и нажмите enter, он говорит, что interactive mode enabled . Но когда я пишу echo 'Hi'; он ничего не показывает.

Я даже не вижу ничего подобного «php>», когда я php -a и нажимаю enter.

PHP CLI как его называемый (php для интерфейса командной строки) называется php.exe. Он живет в c:\wamp\bin\php\php5.xy\php.exe (где x и y – номера версий php, которые вы установили)

Если вы хотите создать php-скрипты для запуска из командной строки, тогда это будет очень просто и очень полезно.

Создайте себе пакетный файл, как это, позвоните ему phppath.cmd :

 PATH=%PATH%;c:\wamp\bin\php\php5.xy php -v 

Сохраните это в одной из ваших папок, которая уже находится на вашем PATH, поэтому вы можете запускать ее из любого места.

Теперь из командного окна, cd в исходную папку и запустите> phppath.

Затем запустите

php your_script.php

Он должен работать как сон.

Вот пример, который настраивает PHP Composer и PEAR, если это необходимо, и они существуют

 @echo off REM ************************************************************** REM * PLACE This file in a folder that is already on your PATH REM * Or just put it in your C:\Windows folder as that is on the REM * Serch path by default REM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - REM * EDIT THE NEXT 3 Parameters to fit your installed WAMPServer REM ************************************************************** set baseWamp=D:\wamp set defaultPHPver=7.1.9 set composerInstalled=%baseWamp%\composer set phpFolder=\bin\php\php if %1.==. ( set phpver=%baseWamp%%phpFolder%%defaultPHPver% ) else ( set phpver=%baseWamp%%phpFolder%%1 ) PATH=%PATH%;%phpver% php -v echo --------------------------------------------------------------- REM IF PEAR IS INSTALLED IN THIS VERSION OF PHP IF exist %phpver%\pear ( set PHP_PEAR_SYSCONF_DIR=D:\wamp\bin\php\php%phpver% set PHP_PEAR_INSTALL_DIR=D:\wamp\bin\php\php%phpver%\pear set PHP_PEAR_DOC_DIR=D:\wamp\bin\php\php%phpver%\docs set PHP_PEAR_BIN_DIR=D:\wamp\bin\php\php%phpver% set PHP_PEAR_DATA_DIR=D:\wamp\bin\php\php%phpver%\data set PHP_PEAR_PHP_BIN=D:\wamp\bin\php\php%phpver%\php.exe set PHP_PEAR_TEST_DIR=D:\wamp\bin\php\php%phpver%\tests echo PEAR INCLUDED IN THIS CONFIG echo --------------------------------------------------------------- ) else ( echo PEAR DOES NOT EXIST IN THIS VERSION OF php echo --------------------------------------------------------------- ) REM IF A GLOBAL COMPOSER EXISTS ADD THAT TOO REM ************************************************************** REM * IF A GLOBAL COMPOSER EXISTS ADD THAT TOO REM * REM * This assumes that composer is installed in /wamp/composer REM * REM ************************************************************** IF EXIST %composerInstalled% ( ECHO COMPOSER INCLUDED IN THIS CONFIG echo --------------------------------------------------------------- set COMPOSER_HOME=%baseWamp%\composer set COMPOSER_CACHE_DIR=%baseWamp%\composer PATH=%PATH%;%baseWamp%\composer rem echo TO UPDATE COMPOSER do > composer self-update echo --------------------------------------------------------------- ) else ( echo --------------------------------------------------------------- echo COMPOSER IS NOT INSTALLED echo --------------------------------------------------------------- ) set baseWamp= set defaultPHPver= set composerInstalled= set phpFolder= 

Вызовите этот командный файл таким образом, чтобы использовать стандартную версию PHP

 > phppath 

Или получить определенную версию PHP, как это

 > phppath 5.6.30 

Я помню один раз, когда несколько месяцев назад я наткнулся на эту проблему, потому что в окнах нет readline, поэтому нет интерактивной оболочки, чтобы использовать интерактивный режим php без поддержки readline, вы можете сделать это вместо этого:

 C:\>php -a Interactive mode enabled <?php echo "Hello, world!"; ?> ^Z Hello, world! 

После входа в интерактивный режим введите с помощью открытия ( <?php ) и закрытия ( ?> ) Php-тега и завершите управление Z ( ^Z ), которое обозначает конец файла.

Я также помню, что я нашел решение от комментария пользователя сайта php: http://www.php.net/manual/en/features.commandline.interactive.php#105729

Попробуйте использовать командный файл

  1. Открыть блокнот
  2. Тип php -S localhost:8000
  3. сохранить файл как расширение .bat , server.bat
  4. теперь нажмите на server.bat файл, ваш сервер готов на http://localhost:8000

зависимость

если у вас возникла ошибка, php не распознает какую-либо внутреннюю или внешнюю команду, то перейдите в переменную окружения и измените путь к php.exe "C:\wamp\bin\php\php5.4.3"

Проблема, которую вы описываете, звучит так, как ваша версия PHP может отсутствовать PHP-модуль readline, в результате чего интерактивная оболочка не работает. Я основываю это на этом представлении ошибок PHP .

Попробуйте запустить

 php -m 

И посмотрите, появляется ли на выходе «readline».

Могут быть веские причины для отказа от чтения из дистрибутива. PHP обычно выполняется веб-сервером; поэтому на самом деле это не нужно для большинства случаев использования. Я уверен, что вы можете выполнить PHP-код в файле из командной строки, используя:

 php file.php 

Существует также проект phpsh, который обеспечивает (лучшую) интерактивную оболочку для PHP. Тем не менее, некоторые люди столкнулись с трудностями при работе под Windows (я сам этого не пробовал).

Изменить : согласно документации здесь , readline не поддерживается в Windows:

Примечание. Это расширение недоступно на платформах Windows.

Итак, если это правильно, ваши варианты:

  • Избегайте интерактивной оболочки и просто выполняйте PHP-код в файлах из командной строки – это должно хорошо работать
  • Попробуйте заставить phpsh работать под Windows

Если вы хотите просто запустить быстрый фрагмент кода, вы можете использовать параметр -r:

 php -r "echo 'hi';" 

-r позволяет запускать код без использования тегов скриптов <?..?>

ОБНОВЛЕНО. После нескольких исследований лучшим решением было использC

ruphp.com

Как установить и настроить PHP 5 для запуска с Apache на Windows

1.5K

В этой статье приводится пошаговое руководство по установке PHP для совместной работы с HTTP-сервером Apache на Windows. Эта процедура была протестирована как на Windows XP и Vista. Предполагается, что вы уже завершили установку Apache.

Прежде чем приступать к работе, скачайте копию PHP 5 со страницы загрузки. Загрузите защищенный пакет VC6 из раздела «Windows Binaries» — то есть не скачивайте установщик. Например, выберите пакет с пометкой «PHP 5.2.5 zip package», если на данный момент текущая версия — 5.2.5.

Примечание: обратите внимание, что я не тестировал описанную ниже процедуру с версиями PHP 5.3, только с 5.2.5, которая была последней версией на момент написания статьи. Теоретически, те же действия должны выполняться и для установки PHP 7.

Создайте на жестком диске папку для PHP. Я предлагаю c:php, хотя вы можете использовать другое название и расположение папки. Лично я предпочитаю не использовать имена с пробелами.

Извлеките все файлы из загруженного архива в эту папку. Для этого просто дважды кликните по zip-файлу. А затем перетащите все файлы в папку c:php.

Если вы переходите на PHP 5 с более старой версии, перейдите в каталог Windows, (обычно это c:windows), и удалите все файлы php.ini, которые вы ранее там размещали.

Перейдите в папку 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, теги типа «<?» не будут считаться открывающими тегами для PHP-кода. В таком случае, чтобы начать PHP-скрипт, нужно будет скомпоновать скрипт с открывающим тегом типа «<?php».

Поскольку многие сторонние PHP-скрипты используют формат «<?», установка для этого параметра значения off создаст больше проблем, чем принесет пользы. Особенно, если учесть тот факт, что большинство, коммерческих хостингов, поддерживающих PHP, без проблем обрабатывают скрипты, использующие «< ?», в качестве открывающего тега. Чтобы изменить эту установку, отредактируйте данную строку следующим образом:

b) Волшебные кавычки

При установке Apache PHP по умолчанию входящие данные автоматически не экранируются с помощью слэша. Если вы хотите, чтобы входные данные имели префикс обратной косой черты («»), например, чтобы воспроизводить настройки хостинга, найдите следующую строку:

и замените ее на:

Не рекомендуется делать это, если на хостинге не задан данный параметр. Даже при установленном значении Off вы все равно можете использовать в PHP функцию addslashes(), чтобы добавлять слэши для конкретных частей данных,.

c) Использование глобальных переменных

Ряд старых скриптов при выполнении исходят из того, что все данные, отправляемые через форму, будут автоматически иметь переменную PHP с тем же именем. Например, если в форме есть поле для ввода с именем «something«, старые скрипты PHP исходят из того, что PHP-процессор автоматически создаст переменную с именем $something, которая содержит значение, заданное через это поле.

Если вы используете такие скрипты, нужно найти следующую строку:

и изменить ее на:

Предупреждение: при установке PHP на Windows не делайте этого, если у вас нет сторонних скриптов, для работы которых это необходимо. При написании новых скриптов лучше всегда исходить из того, что для элемента register_globals установлено значение «Off«.

d) Отображение ошибок

На «живом» сайте ошибки в скрипте обычно регистрируются без отображения в файле ошибок PHP. Но на локальной машине, пока вы тестируете и отлаживаете PHP-скрипт более удобно отправлять сообщения об ошибках при их выявлении прямо в окно браузера. Так вы не пропустите ошибки, даже если забудете проверить файл журнала ошибок.

Чтобы PHP отображал сообщения об ошибках прямо в окне браузера, найдите следующую строку:

и измените ее на:

Для этого параметра на работающем сайте всегда должно быть установлено значение 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(), и нужно, чтобы функция успешно отправляла почту на локальном компьютере, найдите следующий раздел:

[mail function]
; For Win32 only.
SMTP = localhost
smtp_port = 25

; For Win32 only.
;sendmail_from = [email protected]

Измените его, указав адрес вашего SMTP-сервера и учетную запись электронной почты. Например, если ваш SMTP-сервер mail.example.com, а адрес электронной почты [email protected], измените код так:

[mail function]
SMTP = mail.example.com
smtp_port = 25
sendmail_from = [email protected]

Обратите внимание, что после этого, когда скрипт попытается использовать функцию mail(), для ее успешной работы нужно будет подключиться к своему интернет-провайдеру. Если вы не измените приведенные выше строки и попытаетесь использовать в скрипте функцию mail(), функция вернет код сбоя и отобразит сообщение об ошибке.

Существует два способа установки 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» и добавьте после всех строк следующую.

Затем найдите в файле блок AddType и добавьте приведенную ниже строку после последнего оператора AddType. Это нужно сделать независимо от того, какую версию Apache вы используете. Для Apache 2.2.x нужно найти строки AddType в разделе <IfModule mime_module>. Добавьте строку непосредственно перед закрытием </ IfModule> для этого раздела.

AddType application/x-httpd-php .php

Если необходима поддержка других типов файлов, например «.phtml», добавьте их в список, например, так:

AddType application/x-httpd-php .phtml

Тем, кто использует одну из версий Apache 2, нужно указать местоположение ini-файла PHP. Добавьте следующую строку в конец httpd.conf.

Если вы использовали другой каталог, нужно будет изменить c:/php на правильный путь. Не забудьте применить косую черту («/»).

Если используете Apache 1, вы уже разместили файл php.ini в папке Windows или где-нибудь в PATH. Поэтому PHP должен будет найти его самостоятельно.

Если вы настроили для PHP 5 загрузку в качестве модуля Apache, можете пропустить данный раздел. Он предназначен для тех, кто хочет настроить для PHP запуск в качестве бинарного CGI.

Процедура для этого при установке PHP 7 одинаковая как для Apache 1.x, так и для всех версий серии 2.x.

Найдите часть конфигурационного файла Apache, в которой находится раздел ScriptAlias. Добавьте приведенную ниже строку сразу после строки ScriptAlias для «cgi-bin». Если используете Apache 2.2.x, убедитесь, что строка расположена до закрытия </ IfModule> для раздела <IfModule alias_module>.

Обратите внимание: если вы установили PHP в другом месте, например c:Program Filesphp, нужно указать соответствующий путь вместо c:/php/ (например, c:Program Filesphp). Не забудьте, что здесь мы используем простую косую черту («/») вместо обратной косой черты Windows («»).

ScriptAlias /php/ "c:/php/"

Apache нужно настроить MIME тип PHP. Найдите блок комментариев AddType, поясняющий его использование, и добавьте следующую строку ниже него. Для Apache 2.2.x найдите строки AddType в разделе <IfModule mime_module>. Добавьте приведенную ниже строку непосредственно перед закрытием </IfModule> для этого раздела.

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:

<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

Добавьте приведенные ниже строки сразу после раздела, который только что нашли.

<Directory "C:/php">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

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 считал новые директивы конфигурации PHP, которые вы поместили в файл httpd.conf. Сервер Apache 2.2 можно перезапустить, дважды кликнув по иконке Apache Service Monitor в панели задач и нажав в появившемся окне кнопку «Перезапустить».

После установки 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 после внесения изменений в конфигурацию и что вы правильно настроили веб-сервер.

Полное справочное руководство по установке PHP можно найти на официальном сайте технологии. Его можно посмотреть онлайн или загрузить для изучения в автономном режиме.

Хорошего всем дня!

Данная публикация представляет собой перевод статьи «How to Install and Configure PHP 5 to Run with Apache on Windows» , подготовленной дружной командой проекта Интернет-технологии.ру

www.internet-technologies.ru