2

Установка Apache 2, PHP 5 и MySQL в Ubuntu

Любой сайт начинается с сервера и в этой статье я расскажу как быстро и без лишних хлопот установить полноценный локальный сервер Apache 2. Пошаговые инструкции помогут лучше понять назначение каждой части комплекта разработчика.

Установка сервера Apache 2

В терминале запускаем процесс установки apache2 из стандартных репозиториев:

sudo apt-get install apache2

Чтобы сервер заработал следует выполнить стандартную команду перезагрузки процесса:

sudo service apache2 restart

Теперь, если перейти по ссылке http://localhost будет отображаться приветственный текст, вроде такого:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

Continue Reading

0

Установка PHP 5.4 в Ubuntu

Самая свежая версия PHP 5.4 может понадобиться для перспективного тестирования готовых наработок. Установка довольно проста, если связка Apache, PHP, MySQL уже есть.

Нам нужно добавить репозиторий с самой свежей версией PHP 5.4:

sudo add-apt-repository ppa:ondrej/php5

Далее обновим наши данные и просто установим PHP 5.4, как обычный пакет:

sudo apt-get update
sudo apt-get install php5 libapache2-mod-php5

0

Синтаксическая проверка PHP-файла на ошибки без его выполнения

Порой, даже самые простые задачи рядового программиста на PHP могут требуют к себе внимания. В этот раз речь пойдёт о синтаксической проверке php-файла перед его подключением.

Пример из жизни — динамически подключаемые php-файлы через функцию include(), если файл содержит ошибку — получим 500 ошибку сервера, которая весьма сурова для нашего кода. До версии PHP 5.0.4 можно было обойтись функцией php_check_syntax(), чтобы проверить файл перед его подключением, но в последующих версиях её нет, поэтому, казалось бы, остаётся только один простой способ проверки через командную строку:

php -l имя_файла

В php-реализации получается примерно так:

function php_check_syntax($file, &$error) {
  // анализируем файл
  exec("php -l ".$file, $error, $code);
  // ошибок нет
  if ($code == 0) {
    return true;
  }
  // ошибки есть
  return false;
}

Но, этот способ практически бесполезен для отечественных хостингов, т.к. функции exec() и shell_exec() возглавляют небезопасный список php-функций и их просто отключают. Так поступает masterhost и многие другие.

Найти другой функционал синтаксической проверки файлов на базе стандартных решений — не получилось, — поэтому будет магия! А поможет нам победить непослушный код — функция token_get_all() и функция eval().
Continue Reading