wie der Titel schon sagt hier geht alles über X Ecken. Es geht darum:
Ich muss für meinen Betrieb eine Virtuelle Maschine mit VirtualBox aufsetzen, welche Ubuntu Server ohne Grafische Oberfläche hat.
Der Hintergrund ist darauf einen Apacheserver laufen zu lassen um auf Lehrgängen für jeden einen Lokalen Server bereit stehen zu haben.
Doch dank einer internen Schulung bin ich jetzt über einen Bug gestolpert der mir doch sehr ins Auge sticht.
Ich hab die neueste Xampp version (1.7.3.a) auf der Maschine drauf und über sharedfolder wird alles eingebunden.
Auch das Aufrufen funktioniert einwandfrei, IP der Maschine in den Browser und ich werden von Xampp für Linux begrüßt.
Jetzt zu dem Problem:
Ich habe ein PHP "projekt" das auf der Lokalen Maschine läuft, jedoch wenn ich versuche es über die Virtuelle aufzurufen krieg ich das:
Warning: PDO::__construct() [pdo.--construct]: [2002] Invalid argument (trying to connect via unix://) in /opt/lampp/htdocs/file/schulungen/schulung-pdo/index.php on line 18
SQLSTATE[HY000] [2002] Invalid argumentoo
Fatal error: Call to a member function query() on a non-object in /opt/lampp/htdocs/file/schulungen/schulung-pdo/index.php on line 31
der DB dump ist eingespielt etc... hier mal der Code:
- Code: Select all
<?php
class PDOSpielereien {
function run() {
echo '<h1>PHP PDO Objekte</h1>';
$dbObject = $this->connectToMysql();
#$dbObject = $this->connectToSqlite();
$this->getNames($dbObject);
}
function connectToMysql() {
/*** mysql hostname ***/
$hostname = 'localhost';
/*** mysql username ***/
$username = 'root';
/*** mysql password ***/
$password = '';
try {
$dbObject = new PDO("mysql:host=$hostname;dbname=schulung_pdo", $username, $password);
/*** echo a message saying we have connected ***/
echo 'Connected to database MySql';
return $dbObject;
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
function getNames($dbObject) {
$sql = 'Select * FROM teilnehmer;';
print_r($dbObject);
echo 'oo';
print_r($dbObject->query($sql));
foreach ($dbObject->query($sql) as $row){
echo $row['vorname'] . ' ';
echo $row['nachname'] . ' ';
}
$dbObject->errorInfo();
}
function connectToSqlite() {
try {
$dbObject = new PDO("sqlite:schulung.s3db",'' , '');
/*** echo a message saying we have connected ***/
echo 'Connected to database sqlite';
return $dbObject;
}
catch(PDOException $e) {
echo $e->getMessage();
}
}
}
$spielereien = new PDOSpielereien;
$spielereien->run();
?>
Habt ihr ne Idee (ausser Rechtschreibfehler von denen ich glaub genug gemacht hab ) ???