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
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
http://Fully-Qualified-Hostname:PORT#/phpdbchk.php
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
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 Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ
![]()
