Можно ли получить php

Получение PHP

Этот раздел содержит информацию о том, где получить PHP и вопросы, касающиеся OC.

Где я могу взять PHP?

Вы можете скачать PHP с любого сайта из сети сайтов PHP. Сайты сети можно найти на » https://www.php.net/. Вы также можете воспользоваться анонимным Git для получения самой последней версии исходников. За подробностями обращайтесь к » https://www.php.net/git.php.

Доступны ли прекомпилированная бинарная версия?

Мы распространяем прекомпилированные бинарники только для Windows, так как мы не в состоянии компилировать PHP со всеми возможными комбинациями расширений, даже для самых основных платформ Linux/Unix. Также заметьте, что на сегодня многие дистрибутивы Linux поставляются с PHP. Бинарники для Windows можно скачать с нашей страницы » Downloads, для бинарников под Linux, пожалуйста, посетите сайт вашего дистрибутива.

Где я могу достать библиотеки, необходимые для компиляции некоторых дополнительных расширений PHP?

Замечание: Звёздочкой (*) помечены библиотеки, которые исходя из нашего опыта являются потоко-небезопасными; эти библиотеки не рекомендуется использовать в многопоточной среде.

  • » LDAP (Unix).
  • » LDAP (Unix/Win) : Mozilla Directory (LDAP) SDK
  • » бесплатный LDAP сервер.
  • » Berkeley DB2 (Unix/Win) : https://www.sleepycat.com/.
  • » SNMP* (Unix): .
  • » GD (Unix/Win).
  • » mSQL* (Unix).
  • » PostgreSQL (Unix).
  • » IMAP* (Win/Unix).
  • » Sybase-CT* (Linux, libc5) : Available locally.
  • » FreeType (libttf):.
  • » ZLib (Unix/Win32).
  • » expat XML parser (Unix/Win32).
  • » PDFLib.
  • » mcrypt.
  • » mhash.
  • » t1lib.
  • » dmalloc.
  • » aspell.
  • » readline.

Как подключить эти библиотеки?

Вам необходимо следовать инструкциям, сопровождающим библиотеку. При запуске скрипта ‘configure’, некоторые библиотеки (такие как библиотека GD) находятся автоматически, другие должны быть включены с помощью опции ‘—with-EXTENSION’ в ‘configure’. Запустите ‘configure —help’ для получения списка всех опций.

Я скачал последнюю версию исходных кодов PHP из Git-репозитория на мою машину Windows, как мне их скомпилировать?

Изучите раздел руководства, содержащий актуальное » пошаговое руководство по сборке

Где найти файл совместимости браузеров ?

Файл browscap.ini можно скачать с » https://browscap.org/.

Что означает потокобезопасность при загрузке PHP?

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

Так что же выбрать? Если вы хотите использовать PHP в качестве бинарного файла CGI, то вам не нужна потокобезопасность, так как бинарный файл будет запускаться при каждом запросе. Для многопоточных веб-серверов, таких как IIS5 и IIS6, вам понадобится поточная версия PHP.

There are no user contributed notes for this page.

Источник

Для чего используют PHP и почему его ненавидят

Для чего нужен PHP: какие возможности он дает разработчикам, что можно реализовать с его помощью и в чем главная боль PHP-разработчиков

PHP — один из самых распространенных языков web-разработки. Он применяется для создания сайтов и web-приложений любой сложности. от лендингов и блогов до интернет-магазинов и браузерных игр.

Его преимущества — в широких возможностях и защищенности благодаря закрытому исходному коду. К минусам можно отнести то, что без сервера с интерпретатором код работать не будет (исправлено в новых версиях языка).

Для начала работы создается страница с расширением .php или .html (в зависимости от конфигурации сервера). Исходный код этой страницы содержит теги разметки html и непосредственно PHP-команды. Они заключаются между операторами <?PHP (допустимо писать <?) и ?>. Вот как выглядит подобный код:

<?

$username = «Петя»; //Переменная с именем пользователя

?>

<div>

<p>Здравствуйте, <? echo $username; ?>!</p>

</div>

Открыв эту страницу, пользователь увидит надпись «Здравствуйте, Петя!». Если вы уже знакомы с программированием, то могли заметить, что $username — это переменная, а команда echo используется для вывода данных на экран.

Читайте также:  Можно ли получить скидку на алиэкспресс

В PHP поддерживаются применение функций, математические вычисления, работа с переменными (как в примере выше) и массивами, прописывание условий «если — то», создание объектов и многое другое. Чаще всего это используется:

  • для отправки форм;
  • работы с базами данных;
  • создания динамичных страниц;
  • использование сессий и cookies;
  • загрузки и обработки файлов;
  • создания изображений;
  • парсинга.

Теперь обо всем этом по порядку.

Если вы знакомы с html, то знаете, что с его помощью нельзя просто так получить информацию, введенную пользователем. То есть вы можете создать красивую форму, но без PHP или другого подобного языка все данные просто исчезнут, когда он нажмет кнопку «Отправить».

Для начала создается форма подобного вида:

<form action=»/auth.php» method=»post»> <!—Форма—>

<input type=»text» name=»login» placeholder=»Логин»><br> <!—Поле ввода логина—>

<input type=»password» name=»password» placeholder=»Пароль»><br> <!—Поле ввода пароля—>

<input type=»submit» value=»Войти»> <!—Кнопка отправки данных—>

</form>

У тега <form> есть два атрибута: action и method. В первом указывается страница, куда будут отправлены данные, а во втором — метод передачи. Всего их два:

  1. POST — безопасный, но медленный метод. Им пользуются для передачи конфиденциальной информации: пароли, логины, адреса и так далее.
  2. GET — простой, но уязвимый метод. Вы могли видеть ссылки вида index.php?page=8&=2. Информация записывается прямо в ссылку, и любой может поменять ее значение или поделиться ею, поэтому лучше не передавать так ничего секретного и позаботиться о дополнительной безопасности.

Из формы на страницу auth.php будут переданы переменные login и password. В зависимости от метода они попадут в супермассив $_POST или $_GET. Дальше на этой странице можно будет сделать с ними все что угодно, в том числе и проверить их наличие в базе данных.

К сайту на PHP подключается база данных. Это во многом упрощает разработку, потому что вся информация будет храниться в таблицах, а не в самом коде. Так быстрее редактировать и добавлять данные на сайт.

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

Продолжим пример с авторизацией. Страница auth.php получает логин и пароль. Дальше она может сделать запрос в базу данных, чтобы узнать, существует ли такая комбинация.

<?

//Получаем данные из супермассива $_POST в переменные для удобства

$login = $_POST[‘login’];

$password = $_POST[‘password’];

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

$queryResult = mysql_query(«SELECT * FROM userlist WHERE login=’$login’ AND password=’$password'»);

//Выполняем проверку

If(mysql_num_rows($queryResult) == 1) {

//Если есть1 совпадение, то выводим надпись об успешности операции

echo «Вы успешно вошли!»;

} else {

//Иначе пишем, что комбинация неверна

echo «Неверный логин или пароль!»;

}

?>

Разумеется, это очень упрощенная версия кода, которую вряд ли можно назвать защищенной. На самом деле нужно выполнить множество проверок, чтобы исключить вероятность SQL-инъекции — это когда пользователь пытается ввести некорректную информацию, чтобы получить доступ к базе данных.

Это одна из лучших возможностей PHP. Представьте, что вы создали десять страниц на html. Если вы захотите внести изменение в дизайн, то придется переделывать все десять файлов. А если страниц будет несколько десятков, сотен или даже тысяч, то нужно будет заняться и ими.

На PHP достаточно создать один файл, который будет отвечать за главную страницу, каталог товаров и все остальное.

Чтобы сделать это, используйте метод GET. Если пользователь перейдет по ссылке index.php, он окажется на главной. А если введет index.php?page=articles&id=5, то увидит статью с идентификатором пять.

Также можно подключать другие файлы с помощью функции include(). Допустим, у вас есть несколько страниц:

  • index.php;
  • s.php;
  • cart.php;
  • .php и так далее.
Читайте также:  Можно ли получить образование косметолога без медицинского

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

<body>

<div class=»wrapper»>

<? include(«/includes/er.php»); ?>

<div class=’content’>

Контент сайта: статьи, изображения и прочее.

</div>

<? include(«/includes/.php»); ?>

</div>

</body>

Это экономит массу времени и места, потому что не нужно каждый раз прописывать этот код заново.

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

Следующая интересная возможность — сессии и куки. Они нужны для того, чтобы не забивать базу данных и хранить часть информации на компьютере пользователя. Например, многие интернет-магазины помещают в куки пользователя данные о посещениях и просмотренных товарах, чтобы потом вывести не «Добро пожаловать! Посмотрите наши гироскутеры!», а «Рады снова вас видеть! Вернулись за гироскутером XYZ?».

Также их можно использовать для создания системы авторизации.

<?session_start(); //Запуск сессии. Эта строка всегда должна быть первой на странице, где нужно использовать сессии.

//Делаем запрос в базу данных

$queryResult = mysql_query(«SELECT * FROM userlist WHERE login=’$_SESSION[login]’ AND password=’$_SESSION[password]'»);

//Проверяем, есть ли совпадение

If(mysql_num_row($queryResult) == 1) {

//В случае успеха получаем массив с данными из таблицы

$user = mysql_fetch_array($queryResult);

}

Echo «Добро пожаловать, «.$user[‘name’].»!»;

?>

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

Можно реализовать не только загрузку файлов на сервер, но и их редактирование.

Вот пример кода, позволяющий редактировать данные в блокноте:

<?

$fileText = file_get_contents(«article.txt»); //Получаем текст из файла

If(isset($_POST[‘text’])) { //Проверяем, отправил ли пользователь форму

$file = fopen(«article.txt», «w»); //Открываем файл для записи

$fileWrite = fwrite($file, $_POST[‘text’]); //Вносим изменения

fclose($file); //Закрываем файл

}

?>

<form method=»post»>

<textarea name=»text»><?echo $fileText;?></textarea><!—Выводим текст в поле для редактирования—><br>

<input type=»submit» value=»Отредактировать»>

</form>

На PHP вполне можно создать файловый менеджер или текстовый редактор.

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

<img src=»/captcha.php» title=»Введите код с картинки»>

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

<?

$image = imagecreatetruecolor(100, 100); //Создаем полотно с разрешением100 ×100 пикселей

$avatar = imagecreatefromjpeg(‘avatar_01.jpg’); //Загружаем изображение из файла

//Отрисовываем загруженный файл на полотне

imagecopyresampled($image, $avatar, 0, 0, 0, 0, 100, 100, 100, 100);

//Сохраняем

imagejpeg($image_p, ‘avatar_02.jpg’, 100);

?>

Если вы собираетесь использовать этот код, добавьте масштабирование и поработайте над соотношением сторон.

Парсинг — это сбор информации с других сайтов. Например, вы часто могли видеть поиск по сайту, который реализован с помощью Google или «Яндекса».

<?

$query = $_POST[‘query’]; //Получаем запрос пользователя

$Query = «https://yandex.ru//?text=site:skillbox.ru+».$query; //Преобразуем запрос в ссылку

$results = file_get_html($searhQuery); //Получаем страницу

$s = $results->find(‘a’); //Находим все ссылки на странице

?>

Так это реализуется с помощью библиотеки PHP Simple HTML DOM Parser. Но, как вы могли заметить, мы получили все ссылки на странице — то есть не только ведущие на найденные сайты, но и ведущие на другие проекты «Яндекса».

Почему программисты ненавидят PHP

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

10 худших языков программирования

Одна из причин ненависти к PHP — переменные. Если в других языках их нужно объявить заранее, да еще и указав тип, то в PHP можно просто поставить знак «$» в любой части кода.

Читайте также:  Можно ли получить полностью налог за покупку квартиры

Сравните код на C:

int a; //Объявляем числовую переменную

a = 5*10; //Проводим с ней операции

И код на PHP

$a = 5*10; //Объявляем и сразу же начинаем вычисления

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

Следующая причина — смешанный код. PHP приходится использовать в файлах с версткой HTML. Это затрудняет работу с кодом, потому что не всегда можно легко найти нужный фрагмент или понять, где ты находишься сейчас.

Другие языки, вроде JavaScript, можно выносить в отдельный файл и оттуда взаимодействовать со страницей. В PHP же это будет выглядеть так:

<div>

<?

$queryResult = mysql_query(«SELECT id,title FROM articles ORDER BY id»);

if(mysql_num_rows($queryResult) >= 1) {

while($article = mysql_fetch_array($queryResult)) {

echo «<a href=’blog.php?id=$article[id]’>$article[title]</a><br>»;

}

} else {echo «Здесь пока нет статей»;}

?>

</div>

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

Еще PHP достаточно прост в изучении, поэтому на нем создано около 83% сайтов по всему интернету. Его простота стала причиной появления миллионов сайтов с кривым кодом. Поэтому можно сказать, что ненависть вызвана неопытными разработчиками.

Новички любят всё усложнять и пишут так:

<?

echo «<!DOCTYPE html>»;

echo «<html>»;

echo «<>»;

echo «<title>».$title.»</title>»;

echo «</>»;

echo «<body>»;

echo $text;

echo «</body>»;

echo «</html>»;

?>

Хотя можно написать так:

<!DOCTYPE html>

<html>

<>

<title><? echo $title; ?></title>

</>

<body>

<? echo $text; ?>

</body>

</html>

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

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

В старых версиях была уязвимость, которая позволяла создать переменную через ссылку. То есть если сейчас из ссылки ?var=5 мы получим ячейку в супермассив $_GET, раньше создавалась еще и переменная $var. И если программист забывал выполнить проверку всех данных, то его сайт был в опасности. Сейчас этой уязвимости нет, как и многих других, но мнение людей все равно не меняется.

У PHP на самом деле много недостатков:

  • неудобная работа с объектами;
  • огромное количество встроенных функций, которое замедляет загрузку и ограничивает в выборе имени для своих функций;
  • небольшое количество пакетов и фреймворков;
  • неудобные регулярные выражения;
  • отсутствие многопоточности и так далее.

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

Заключение

PHP — отличный язык, с помощью которого можно реализовать любой функционал. Хоть его и не любят многие разработчики, со своей задачей он справляется отлично. И неразумно игнорировать его просто потому, что так делают многие, — нужно просто подстроиться под несколько недостатков, чтобы воспользоваться огромным количеством преимуществ.

Курс «PHP-разработчик»

Обширная программа для изучения PHP, состоящая из4 курсов. Поможет с нуля овладеть популярным языком программирования, устроиться в IT-компанию вашей мечты или стать независимым разработчиком.

  • Живая обратная связь с преподавателями
  • Неограниченный доступ к материалам курса
  • Стажировка в компаниях-партнёрах
  • Дипломный проект от реального заказчика
  • Гарантия трудоустройства в компании-партнёры для выпускников, защитивших дипломные работы

Источник