PHP ist eine weit verbreitete Allzweck-Skriptsprache, die sich besonders für die Webentwicklung eignet und in HTML eingebettet werden kann. PHP läuft auf allen wichtigen Betriebssystemen, von Unix-Varianten wie Linux, FreeBSD, Ubuntu, Debian und Solaris bis hin zu Windows und Mac OS X. Es kann mit allen führenden Webservern verwendet werden, einschließlich Apache-, Nginx- und OpenBSD-Servern, um nur einige zu nennen; sogar Cloud-Umgebungen wie Azure und Amazon sind auf dem Vormarsch.
Nachfolgend finden Sie einige Möglichkeiten, wie ein PHP-Skript getestet werden kann.
Einfaches PHP-Skript testen
1. Erstellen Sie eine Datei mit folgendem Inhalt. Geben Sie der Datei einen Namen wie zum Beispiel myphpInfo.php:
<?php phpinfo(); ?>
2. Kopieren Sie die Datei in das DocumentRoot-Verzeichnis Ihres Webservers, zum Beispiel – /var/www/html. Sie haben möglicherweise ein anderes DocumentRoot-Verzeichnis, je nachdem, welchen Webserver Sie verwenden und welche Konfiguration dafür vorgenommen wurde.
3. Ändern Sie die Berechtigungen auf 755 (nur Linux):
# chmod 755 myphpInfo.php
4. Rufen Sie die Datei aus einem Browser auf:
http://Fully-Qualified-Hostname:PORT#/phpinfo.php
Testen eines PHP-Skripts, das Datenbankverbindungen verwendet
1. Erstellen Sie eine Datei mit folgendem Inhalt. Geben Sie der Datei einen Namen wie 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. Setzen Sie ORACLE_HOME und TNS_ADMIN auf die richtigen Werte.
3. Kopieren Sie die Datei in das DocumentRoot-Verzeichnis.
4. Ändern Sie die Variablen $username, $password, $database_hostname, $database_port, $database_sid und $database_srvc nach Bedarf für das Testsystem
5. Ändern Sie die Berechtigungen auf 755 (nur Linux):
chmod 755 phpdbchk.php
6. Rufen Sie die Datei von einem Browser aus auf:
http://Fully-Qualified-Hostname:PORT#/phpdbchk.php
Der folgende Fehler tritt auf, wenn ORACLE_HOME\network\admin\tnsnames.ora nicht korrekt eingerichtet ist oder fehlt. Wenn es fehlt, kann das aus der Datenbank kopiert und unverändert verwendet werden.
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
Das Ausführen des PHP-Skripts in einem anderen Verzeichnis außerhalb von htdocs
Wenn Sie beispielsweise PHP-Skripte in $ORACLE_HOME/Apache/Apache/phpsrc platzieren und von dort über einen Browser ausführen möchten, z. B. http:FQHN:[port]/php/info.php, dann gehen Sie wie folgt vor:
1. Erstellen Sie das Verzeichnis $ORACLE_HOME/Apache/Apache/phpsrc
2. Kopieren Sie das Skript info.php nach $ORACLE_HOME/Apache/Apache/phpsrc
3. Bearbeiten Sie httpd.conf und fügen Sie diese Zeile hinzu:
Alias /php/ $ORACLE_HOME/Apache/Apache/phpsrc
4. HTTP-Server neu starten und jetzt sollte es funktionieren:
http:FQHN:[port]/php/info.phpHinweis :Das PHP-Skript info.php wurde als Beispiel verwendet, Sie können einen beliebigen Namen für Ihre PHP-Skripte verwenden