-
Проверка доступа к БД 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 function get_content(){ $link = "http://google.com/"; $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
Скрипт отработает успешно при выполнении двух условий:
- На сервере открыты соединения к внешним ресурсам (порт 80, http://google.com/ )
- Присутствует и разрешена функция php fopen()