• Проверка доступа к БД MySQL
    <?php
     $mysqli = new mysqli('localhost', 'USER', 'PASSWORD', 'BASENAME');
     if ($mysqli->connect_error) {
        die('Ошибка подключения (' . $mysqli->connect_errno . ') '
         . $mysqli->connect_error);
    }
    echo '<p>Соединение установлено... ' . $mysqli->host_info . "</p>";
    $result = $mysqli->query("SHOW TABLES;");
    while ($row = $result->fetch_row()) {
        echo "<p>Таблица: {$row[0]}</p>";
    }
    echo 'Версия MYSQL сервера: ' . $mysqli->server_info . "\n";
    $mysqli->close();
     
    ?>
  • Тестовый скрипт для проверки HTTP-заголовков и основной информации из массива $_SERVER

    Простой тестовый php-скрипт для вывода на странице основной информации из массива $_SERVER
    Все как всегда — создать в папке сайта файл с именем например ttt.php, добавить в него код и открыть по ссылке site.com/ttt.php

    <?php
    $indicesServer = array('PHP_SELF',
    'argv',
    'argc',
    'GATEWAY_INTERFACE',
    'SERVER_ADDR',
    'SERVER_NAME',
    'SERVER_SOFTWARE',
    'SERVER_PROTOCOL',
    'REQUEST_METHOD',
    'REQUEST_TIME',
    'REQUEST_TIME_FLOAT',
    'QUERY_STRING',
    'DOCUMENT_ROOT',
    'HTTP_ACCEPT',
    'HTTP_ACCEPT_CHARSET',
    'HTTP_ACCEPT_ENCODING',
    'HTTP_ACCEPT_LANGUAGE',
    'HTTP_CONNECTION',
    'HTTP_HOST',
    'HTTP_REFERER',
    'HTTP_USER_AGENT',
    'HTTPS',
    'REMOTE_ADDR',
    'REMOTE_HOST',
    'REMOTE_PORT',
    'REMOTE_USER',
    'REDIRECT_REMOTE_USER',
    'SCRIPT_FILENAME',
    'SERVER_ADMIN',
    'SERVER_PORT',
    'SERVER_SIGNATURE',
    'PATH_TRANSLATED',
    'SCRIPT_NAME',
    'REQUEST_URI',
    'PHP_AUTH_DIGEST',
    'PHP_AUTH_USER',
    'PHP_AUTH_PW',
    'AUTH_TYPE',
    'PATH_INFO',
    'ORIG_PATH_INFO') ;
    
    echo '<table cellpadding="10">' ;
    foreach ($indicesServer as $arg) {
    if (isset($_SERVER[$arg])) {
    echo '<tr><td>'.$arg.'</td><td>' . $_SERVER[$arg] . '</td></tr>' ;
    }
    else {
    echo '<tr><td>'.$arg.'</td><td>-</td></tr>' ;
    }
    }
    echo '</table>' ;
  • Создание тестового файла из php

    Как проверить — создаются ли файлы на сервере? 

    <?php
    $ourFileName = "test.txt";
    $ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
    fclose($ourFileHandle);
    echo "ok";
    ?>
  • Создаётся ли файл через php?

    Этот скрипт бывает полезен для проверки — получается ли средствами php создать файл в конкретной папке, достаточно ли прав для этого? 

    <?php
    $ourFileName = "test.txt";
    $ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
    fclose($ourFileHandle);
    echo "ok";
    ?>

    Скопируйте этот скрипт в файл с именем test.php, закачайте в папку сайта и откройте в браузере имясайта.com/test.php. В итоге, в папке со скриптом должен создаться файл с именем test.txt, а в браузере появиться сообщение «ok»

  • Проверка — установлен ли Zend Optimizer/Loader

    Скрипт для проверки — установлен ли на сервере Zend Opimizer (Loader):

    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=windows-1251">
    </head>
    <body>
    <?
    function ShowStatus($bIsEnabled, $cVer = "") {
    @ob_end_clean();
    echo 'PHP: '.PHP_VERSION."<br><br>\n";
    if($bIsEnabled) {
    echo "<b>Zend Optimizer is installed (".$cVer.")</b><br>";
    echo "<b>Zend Optimizer установлен (".$cVer.")</b>";
    } else {
    echo "<b><font color='#ff0000'>Zend Optimizer is NOT installed. Installation cannot be started. </font></b><br>";
    echo "<b><font color='#ff0000'>Zend Optimizer НЕ установлен. Невозможно начать инсталляцию. </font></b>";
    }
    }
    
    ob_start();
    // Parse phpinfo results
    phpinfo();
    $res = ob_get_clean();
    $res = strtolower(str_replace(' ',' ',$res));
    if(preg_match("/zend\\s*optimizer\\s+(v\\d+\.\\d+\.\\d+)?/", $res, $m)) {
    ShowStatus(true, $m[1]);
    } else
    ShowStatus(false);
    preg_match("/zend\\sloader.*(enabled|disabled)/", $res, $m);
    if ($m[1] === 'disabled') {
    echo "<br><br><b><font color='#ff0000'>Zend Loader is turned off. Please set \"zend_optimizer.enable_loader = 1\" in php.ini</font></b><br>";
    echo "<b><font color='#ff0000'>Zend Loader отключен. Пожалуйста, установите \"zend_optimizer.enable_loader = 1\" в php.ini</font></b>";
    }
    ?>
    </body>
    </html>
    
    

    Скопируйте этот скрипт в файл с именем test.php, закачайте в папку сайта и откройте имясайта.com/test.php

  • Тест memcached

    Следует помнить, что memcache и memcacheD — это разные вещи.

    Этот скрипт помогает проверить, работает ли на сервере memcached:

    <?php
    error_reporting(E_ALL|E_STRICT);
    ini_set('display_errors', true);
    $mem = new memcached();
    $mem->addServer("127.0.0.1",11211);
    $result = $mem->get("Test");
    if ($result) {
    echo $result;
    } else {
    echo "Тестовый ключ не найден, добавляю... Обновите страницу.";
    $mem->set("Test", "Ключ найден, memcached работает") or die("Не получилось...");
    }
    ?>
    • Вместо 127.0.0.1 нужно вставить адрес сервера memcache или путь к сокету. Обычно 127.0.0.1 достаточно. 
    • Если указан путь к сокету на сервере, то 11211 нужно заменить на 0

    Скопируйте этот скрипт в файл с именем test.php, закачайте в папку сайта и откройте в браузере имясайта.com/test.php

  • Тест memcache

    Этот скрипт позволяет проверить — запущен ли на сервере memcache:

    <?php
    $memcache = new Memcache;
    $memcache->connect('127.0.0.1', 11211) or die ("Не могу подключиться");
    $version = $memcache->getVersion(); echo "Версия сервера: ".$version."<br/>\n";
    $tmp_object = new stdClass;
    $tmp_object->str_attr = 'test';
    $tmp_object->int_attr = 123;
    $memcache->set('key', $tmp_object, false, 10) or die ("Ошибка при сохранении данных на сервере");
    echo "Данные сохранены в кеше. (время жизни данных 10 секунд)<br/>\n";
    $get_result = $memcache->get('key'); echo "Данные из кеша:<br/>\n";
    var_dump($get_result);
    ?>
    • Вместо 127.0.0.1 нужно вставить адрес сервера memcache или путь к сокету. Обычно 127.0.0.1 достаточно. 
    • Если указан путь к сокету на сервере, то 11211 нужно заменить на 0

    Скопируйте этот скрипт в файл с именем test.php, закачайте в папку сайта и откройте в браузере имясайта.com/test.php

    На выходе получится что-то вроде: 

    Версия сервера: 1.4.19
    Данные сохранены в кеше. (время жизни данных 10 секунд)
    Данные из кеша:
    object(stdClass)#3 (2) { ["str_attr"]=> string(4) "test" ["int_attr"]=> int(123) }
  • Список установленных на сервере локалей

    Простейший скрипт для получения списка всех установленных на сервере локалей: 

    <?php //для вывода ВСЕХ установленных локалей
    system('locale -a');
    ?>

    Если скрипт чуть чуть модифицировать — можно просмотреть только локали для выбранного языка (ru — русский, en — английский):

    <?php //для вывода только локалей в UTF-8
    system('locale -a  | grep UTF');
    ?>

    Скопируйте этот скрипт в файл с именем test.php, закачайте в папку сайта и откройте имясайта.com/test.php

     

  • Тест php fsockopen() (коннект с удалённым сервером по заданному порту)

    Тестовый скрипт использующий функцию fsockopen() .

    Удобно использовать для проверки — происходит ли соединение с удалённым сервером по какому-то определённому порту. 

    <?php
    function get_content(){
    $fp = fsockopen ("ya.ru", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)<br>\n";
    } else {
    fputs ($fp, "GET / HTTP/1.0\r\nHost: ya.ru\r\n\r\n");
    while (!feof($fp)) { echo fgets ($fp,128);
    } fclose ($fp);
    } fclose ($fp);
    } get_content();

    Скопируйте этот скрипт в файл с именем test.php, закачайте в папку сайта и откройте имясайта.com/test.php

    В строке $fp = fsockopen («ya.ru», 80, $errno, $errstr, 30);  вместо ya.ru нужно указать адрес (URL или IP) удалённого сервера. А вместо 80 — номер порта по которому выполняется соединение. 

  • Тест php fopen()

    Этот тестовый скрипт предназначен для проверки — работает ли на сервере функция php fopen()

    <?php
    function get_content(){
    $link = "http://ya.ru/";
    $fd = fopen($link, "r");
    $text="";
    if ($fd == false) echo "Запрашиваемая страница не найдена 11";
    else { while (!feof ($fd)) $text .= fgets($fd, 4096);
    }
    fclose ($fd);
    echo $text;
    }
    get_content();

    Скопируйте этот скрипт в файл с именем test.php, закачайте в папку сайта и откройте имясайта.com/test.php

    Скрипт отработает успешно при выполнении двух условий: 

    1. На сервере открыты соединения к внешним ресурсам (порт 80, http://ya.ru/ )
    2. Присутствует и разрешена функция php fopen()