πŸ“œ Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ 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 Π±Ρ‹Π» использован Π² качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС имя

Loading

You may also like

Leave a Comment