Главная
  PHP
Сервер Apache
  Perl
Контакты


Главная

 php   PHP скрипты
— что необходимо для их создания, отладки и включения в страницы сайта ?

Если предполагается работать с динамическими страницами, используя серверные языки, такие как PHP, необходимо настроить и установить следующие программы:
  1. Веб-сервер (например, Apache)
  2. Серверный язык PHP
  3. И, возможно,Сервер базы данных (например, MySQL)

Для разработки и тестирования динамических веб-страниц, например - PHP-файлов или любых других сценариев, необходим установленный на ваш компьютер веб-сервер с поддержкой PHP (для того, чтобы все файлы с расширением .php, обрабатывались интерпретатором PHP).
Тестовый сервер позволяет работать непрерывно, исключая потерю информации при сбоях или прекращении доступа к сети Интернет и проверять динамический код без риска внесения ошибочных изменений в страницы, работающего на удаленном сервере, веб-сайта. А также экономить время на загрузку, тестирование, исправление web-страниц.

Важное преимущество тестового сервера заключается в том, что, например, визуальный HTML-редактор Dreamweaver автоматически синхронизирует динамические документы с сервером при их открытии, создании или сохранении внесенных в них изменений.
Установка тестового HTTP-сервера Apache с интерпретатором PHP позволяет в Dreamweaver, сразу-же, после ввода на страницу кода PHP, видеть результат его выполнения.

#


  1. Установка сервера Apache.


PHP поддерживает множество современных веб-серверов, например, Apache, IIS (Microsoft Internet Information Server), Netscape, Personal Web Server, iPlanet, Oreilly Website Pro, Caudium, Xitami, OmniHTTPd. Для большинства из них PHP исполняется как модуль - Apache (SAPI) или CGI-программа на стороне сервера.
Разрабатывать, отлаживать и тестировать сайт необходимо, с установленным на локальном компьютере сервере аналогичном тем, что предоставляют клиентам хостинг-провайдеры. Здесь явным лидером является Apache. Будучи бесплатной открытой программой, предназначенной для бесплатных - же Unix-систем (FreeBSD, Linux и др.), Apache по функциональным возможностям и надежности не уступает коммерческим серверам, а широкие возможности конфигурирования позволяют настроить его для работы практически с любой конкретной системой. Существуют локализации сервера для различных языков, в том числе и для русского. Apache 2.4.x разработан для установки на все версии Windows 2000-2010 Windows XP. Так как, в настоящее время, Windiws-хостинг значительно дороже и менее надежен, многие по прежнему будут предпочитать Unix-хостинг с установленным сервером Apache. Напомним, что PHP — язык сценариев (скриптовый язык), широко используемый для системного администрирования и программирования веб-приложений. PHP скрипты (выполняются на сервере) и могут быть вызваны непосредственно или из файлов сайта. Но как - бы они не были вызваны, пользователю результат их выполнения будет отправлен включенным в страницы HTML. Поэтому, для того чтобы четко представлять, как это происходит на реальном сервере, необходимо, на домашний компьютер, установить локальный сервер Apache

Apache

Если, после установки Apache, не установив PHP, вы попытаетесь загрузить страницу с расширением - .php (содержащую скрипты php), то появится окно диалога с предложением - открыть или сохранить файл.

#

  php   2. Установка PHP

PHP предоставляет web-разработчикам
возможность быстрого создания динамически генерируемых web-страниц PHP.

В основном PHP используется для:

  • Написания скриптов выполняющихся на стороне сервера.
  • Создания скриптов для выполнения в командной строке.
  • Создания оконных приложений с использованием PHP-GTK для их написания, выполняющихся на стороне клиента.

Чтобы иметь возможность проверки выполнения скриптов на PHP, из страниц сайта , нужно установить интерпретатор PHP. В данном примере он установлен в каталог - C:\php7 (См. - установка PHP 7.2). Скрипт — список команд, записанный в файл.

3. Просмотр страниц php в браузерах.

Без установки тестового сервера и интерпретатора PHP

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

#

Исключение - браузер Cyberfox, естественно, код php, размещенный на странице, не будет выполнен, так как это произойдет без участия сервера Apache и интерпретатора PHP).

#


...  Включение скриптов php в страницы сайта.

Скрипты на PHP исполняются на стороне сервера. Браузер пользователя получает уже готовый результат после обработки страницы сервером.
Для того, чтобы сервер знал, что на странице нужно обработать код PHP, она должна иметь расширение php.
Например, index.php, где:

  • index — имя страницы,
  • php — расширение.

Имя этой страницы  — php_script. php

php_script — имя страницы,
php  — расширение.

Страницы со встроенным кодом PHP должны иметь одно из следующих расширений:

.php   .php3   .php4   .php5   .phtm   .phtml

Интерпретатор PHP имеет возможность обрабатывать файлы со смешанным содержимым, что позволяет PHP-коду быть встроенным в документы HTML. Все, что находится вне пары открывающегося и закрывающегося тегов <?php ?> игнорируется интерпретатором PHP.

<div>Это будет проигнорировано PHP и отображено браузером.</div>
<?php echo ' Это будет обработано PHP и результат будет отображен в браузере'; ?>
<p>Это тоже будет проигнорировано PHP и отображено браузером.</p>

Скрипты PHP встраиваются в страницу при помощи конструкции — <? ... ?>,
используя открывающий и закрывающий теги <? текст скрипта ?>.

Для PHP 5

В PHP 5, существует до пяти различных пар тегов, которые могут быть использованы для обозначения PHP-кода, в зависимости от того, как был сконфигурирован PHP. Из них только два - <?php ?> и <script language="php"> </script> доступны всегда. Также, начиная с PHP 5.4.0, третьей, доступной всегда, парой тегов является <?= ?>.

Канонические теги PHP наиболее универсальный эффективный стиль тега PHP: <?php  текст скрипта ?>.
Если вы используете этот стиль, то можете быть уверенны, что ваши теги будут всегда правильно интерпретироваться.

Короткие или коротко-открытые теги (стиль SGML) выглядят так: <?  текст скрипта ?>.
Для использования коротких тегов вы должны сделать одно из двух, чтобы дать возможность PHP распознать теги:
Выбрать, при установке PHP, опцию конфигурации - "допускать короткие теги".
Или установить опцию short_open_tag, в файле - php.ini в on.
Эта опция должна быть заблокирована, при совместном использовании XML с PHP, потому что, один и тот же синтаксис используется для тегов XML и PHP.

Начиная с PHP 5.4 короткий тег — <?= всегда распознается и действует, несмотря на значение опции short_open_tag.

<?= 'Hello, world!' ?>

результат — Hello, world!

Теги стиля ASP аналогичны тегам, используемым Microsoft Active Server Pages и выглядят следующим образом: <%    %>
Чтобы использовать, теги стиля ASP, вы должны будете установить соответствующую опцию в файле конфигурации - php.ini. Иначе, два различных механизма создания сценария будут пытаться разобрать те же самые блоки программы с непредсказуемыми результатами.

Для создания переносимого, совместимого кода, не используйте короткие теги.

Теги сценария HTML выглядят таким  образом: <SCRIPT LANGUAGE=”PHP”>      </SCRIPT>
Хотя это эффективно, но в определенных ситуациях может вызвать проблемы. В частности будьте осторожны, если используете JavaScript на вашем сайте. Тэг скрипта в стиле HTML лучше всего использовать для довольно значительных блоков кода PHP.

До версии 7.0 допускалось использование ограничителей языка программирования ASP <% %> и <script language="php"> </script> . Работа сокращённых конструкций определяется в конфигурационном файле php.ini.

В PHP 7 удалена поддержка тегов ASP и <script language="php">.

Рекомендуется использовать только <?php ?> и <?= ?> для максимальной совместимости и переносимости.


  php   — скрипты PHP

Первая программа на PHP

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

Вставьте в страницу HTML код PHP

  <?php
     echo "Привет Мир! — скрипт PHP";
  ?>

<!DOCTYPE HTML>
<html>
    <head>
        <title>Пример - первого скрипта на PHP</title>
    </head>
    <body>
	<?php
	   echo "Привет Мир! — скрипт PHP";
	?>
    </body>
</html>

И сохраните её под именем hello.php

Клиент получит только результат его выполнения.

Привет Мир! — скрипт PHP


Массив $_SERVER

Переменная $_SERVER - массив, содержащий информацию о заголовках, путях и местоположении скриптов. Записи в нём создаются веб-сервером. Но нет гарантии, что любой веб-сервер выведит каждую из них; может опустить некоторые или предоставить другие, указанные в спецификации CGI/1.1

Описание переменной $_SERVERPHP на русском языке доступно на сайте производителя   —     PHP Group  

Код программы на PHP

  <?php
	echo "Ваш IP-адрес - ".$_SERVER['REMOTE_ADDR']."<br />";
	echo "Версия браузера - ".$_SERVER['HTTP_USER_AGENT']."<br />";
	echo "Имя сервера - ".$_SERVER['SERVER_NAME']."<br />";
	echo "Версия HTTP-протокола - ".$_SERVER['SERVER_PROTOCOL']."<br />";
	echo "Версию спецификации CGI - ".$_SERVER['GATEWAY_INTERFACE']."<br />";
	echo "Содержимое заголовка Accept - ".$_SERVER['HTTP_ACCEPT']."<br />";
	echo "IP-адрес сервера - ".$_SERVER['SERVER_ADDR']."<br />";
	echo "Порт сервера - ".$_SERVER['SERVER_PORT']."<br />";
	echo "Web-сервер - ".$_SERVER['SERVER_SOFTWARE']."<br />";
  ?>
Результат выполнения

Ваш IP-адрес 54.163.22.209
Версия браузера, ОС CCBot/2.0 (https://commoncrawl.org/faq/)
Имя сервера avege.ru
Версия HTTP-протокола HTTP/1.1
Версию спецификации CGI CGI/1.1
Содержимое заголовка Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Web-сервер nginx/1.15.6
Временная метка начала запроса 1542443869

Текущая версия PHP

   <?php
	// Выводит строку типа 'Текущая версия PHP: 5.1.1'
	echo 'Текущая версия PHP: ' . phpversion();
   ?>
Результат выполнения

Текущая версия PHP: 7.2.12

Информация о сервере

  <?php
  echo "Имя сервера - ".$_SERVER['SERVER_NAME']."<br />"; 
  echo "IP-адрес сервера - ".$_SERVER['SERVER_ADDR']."<br />";  
  echo "Порт сервера - ".$_SERVER['SERVER_PORT']."<br />"; 
  echo "Web-сервер - ".$_SERVER['SERVER_SOFTWARE']."<br />"; 
  echo "Версия HTTP-протокола - ".$_SERVER['SERVER_PROTOCOL']."<br />"; 
  ?>
Результат выполнения


Имя сервера - avege.ru
IP-адрес сервера - 88.253.253.127
Порт сервера - 8081
Web-сервер - Apache/2.4.6 (CentOS) PHP/7.2.11
Версия HTTP-протокола - HTTP/1.1


   ...     PEAR

PHP Extension and Application Repository или PEAR
- репозиторий расширения и приложений PHP

- является хранилищем кода программного обеспечения PHP (библиотекой классов PHP с открытым исходным кодом). В стандартную поставку PHP входит система управления классами PEAR, которая позволяет легко скачивать и обновлять их.Проект PEAR основан в 1999 году Стигом С. Баккеном и направлен на предоставление структурированной библиотеки кода, обслуживание системы для распространения и управления пакетами кода, также продвижение стандартного стиля кодирования. Группа PEAR выполняет функции руководящего органа управления версиями и документацией, имеет собственную команду разработчиков.   —   репозиторий PEAR

Пакеты PEAR

Пакет PEAR распространяется как tar-файл gzipped. Каждый архив состоит из исходного кода, написанного на PHP, обычно в объектно-ориентированном стиле. Многие пакеты PEAR могут быть легко использованы разработчиками как обычный код с помощью простых включений в PHP. Более удобно использовать, менеджер пакетов PEAR, который поставляется с PHP и может быть использован для установки пакетов PEAR. Дополнительные функции, предоставляемые пакетом, отображаются как интегрированная часть установки PHP. В отличие от архивов Perl (CPAN - всеобъемлющая сеть архивов Perl), которые PEAR взял в качестве своей модели, PEAR пакеты не имеют неявных зависимостей, поэтому должны явно объявлять все зависимости от других пакетов PEAR.
Базовые классы PEAR содержат код для моделирования объектно-ориентированных деструкторов и последовательной обработки ошибок. Пакеты существуют для многих базовых функций PHP, включая аутентификацию, кеширование, доступ к базе данных, шифрование, настройку, HTML, веб-сервисы и XML .

Менеджер пакетов PEAR

Менеджер пакетов PEAR предоставляет стандартизованный способ установки, удаления или обновления новых пакетов PEAR или расширений PECL. Перед установкой пакета нужно позаботиться о зависимостях и убедиться, что дополнительные пакеты также установлены.
Менеджер пакетов PEAR запускается из командной строки с помощью pear-команды. Обычно поэтому администратор сервера может изменять установленную базу расширений PEAR и PECL. В установках PHP, запущенных в Linux, менеджер пакетов PEAR готов к использованию по умолчанию, но в Windows доступен только после запуска командного файла go-pear.bat.


   ...  PECL - репозиторий расширений PHP

PHP Extension Community Library или PECL

- Библиотека сообщества расширений PHP концептуально очень похожа на PEAR, и действительно модули PECL устанавливаются вместе с диспетчером пакетов PEAR. PECL содержит C-расширения для компиляции в PHP. Как программы C, расширения PECL работают более эффективно, чем пакеты PEAR. PECL включает модули для XML-анализа, доступа к дополнительным базам данных, разбора почты, встраивания Perl или Python в скрипты PHP и для компиляции PHP-скриптов. PECL был выделен из проекта PEAR в октябре 2003 года. Первоначально он назывался библиотекой расширений кода PEAR, но теперь он работает независимо от PEAR.
Расширения PECL документируются наряду со стандартными расширениями в Руководстве по PHP, поэтому нет специального руководства для расширений PECL.

PECL - это репозиторий расширений PHP, написанных на C, доступ к которым предоставляется через систему пакетов PEAR.

См. - Установка расширений PECL —     PECL manual

Для того, чтобы расширение можно было использовать, оно должно быть собрано, установлено и загружено. Описанные ниже методы предоставляют различные рекомендации по поводу того, как собрать и установить расширения, но без применения их автоматической загрузки. Расширения могут быть загружены с помощью директивы extension в файле php.ini, или путем использования функции dl().

В процессе сборки модулей PHP важно иметь нужные версии необходимых утилит (autoconf, automake, libtool и т.д.). Информацию об этих утилитах и их версиях можно посмотреть в разделе " Инструкции по осуществлению анонимного доступа к Git".