📜 Как проверить PHP-скрипт

by itisgood

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

PHP работает во всех основных операционных системах, от вариантов Unix, включая Linux, FreeBSD, Ubuntu, Debian и Solaris, до Windows и Mac OS X.

Его можно использовать со всеми ведущими веб-серверами, включая серверы Apache, Nginx, OpenBSD и многие другие. ; даже облачные среды, такие как Azure и Amazon.

Ниже приведены некоторые способы тестирования скриптов PHP.

Тестирование простого PHP-скрипта

1. Создайте файл со следующим содержимым.

Дайте файлу имя, например, myphpInfo.php:

<?php

phpinfo();

?>

2. Скопируйте файл в каталог DocumentRoot вашего веб-сервера, например – /var/www/html.

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

3. Измените права на 755 (только для Linux):

# chmod 755 myphpInfo.php
4. Вызовите файл из браузера:
http://Fully-Qualified-Hostname:PORT#/phpinfo.php

Тестирование PHP-скрипта, который использует соединения с базой данных

1. Создайте файл со следующим содержимым. Дайте файлу имя, например phpdbchk.php:

<html> 
<head> 
<title>PHP Database Connection Test</title> 
</head> 
<body> 

<?php 

$username = 'scott'; 
$password = 'password'; 
$database_hostname = 'host.domain'; 
$database_port = 'port'; 
$database_sid = 'sid';
$database_srvc = 'servicename';

$easy_connect_syntax = '//'.$database_hostname.':'.$database_port.'/'.$database_srvc; 


// If Oracle 10g libraries are used by PHP try the new Easy Connect syntax. 
// No long connection string is needed. No tnsnames.ora file is required. 
// This does not work with standalone HTTP Server installations

// $conn = OCILogon($username, $password, $easy_connect_syntax); 


// Use this line if TNS is setup properly in $ORACLE_HOME/network/admin 
$conn = OCILogon($username, $password, $database_sid); 


if (!$conn) { 
  $e = ocierror(); 
  print htmlentities($e['message']); 
  exit; 
} 

$query = 'SELECT SYSDATE FROM DUAL';
$stmt = ociparse($conn, $query);
ociexecute($stmt, OCI_DEFAULT);

print 'Checking for the Date and Database Connectivity<br>'; 

$success = 0;
while (ocifetch($stmt)) {
  print "Date: " . ociresult($stmt, "SYSDATE") . "<br>\n";
  $success = 1;
}

if ($success) { print 'Success.<p>'; } 
else { print 'Failed to retrieve the date.<p>\n'; }

OCILogoff($conn); 


print 'PHP Configuration<br>'; 
print '======================<p>'; 

phpinfo(); 

?> 

</body> 
</html>

2. Установите для ORACLE_HOME и TNS_ADMIN правильные значения.

3. Скопируйте файл в каталог DocumentRoot.

4. Измените переменные $username, $password, $database_hostname, $database_port, $database_sid и $database_srvc, необходимые для тестовой системы.

5. Измените права на 755 (только для Linux):

chmod 755 phpdbchk.php
6. Вызовите файл из браузера:
http://Fully-Qualified-Hostname:PORT#/phpdbchk.php
Следующая ошибка возникает, если ORACLE_HOME\network\admin\tnsnames.ora неправильно настроен  или отсутствует.
Warning: ocilogon(): _oci_open_server: 
ORA-12560: TNS:protocol adapter error in [oracle_home]\apache\apache\htdocs\phpdbchk.php on line 25
ORA-12560: TNS:protocol adapter error

Запуск PHP скрипта в в другом каталог вне htdocs

Например, если вы хотите поместить php-скрипты в $ORACLE_HOME/Apache/Apache/phpsrc и запустить их оттуда через браузер, например, hhttp:FQHN:[port]/php/info.php, то выполните следующее:

1. Создайте каталог $ORACLE_HOME/Apache/Apache/phpsrc

2. Скопируйте скрипт info.php в $ORACLE_HOME/Apache/Apache/phpsrc

3. Отредактируйте httpd.conf и добавьте эту строку:

Alias /php/ $ORACLE_HOME/Apache/Apache/phpsrc

4. Перезапустите http сервер и теперь он должен работать:

http:FQHN:[port]/php/info.php
Примечание: php-скрипт info.php был использован в качестве примера, вы можете использовать любое имя

You may also like

Leave a Comment