PDO über Xampp Ubuntu auf VirtualBox

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

PDO über Xampp Ubuntu auf VirtualBox

Postby The Killer for Two » 19. February 2010 14:32

Einen wunderschönen Freitag,
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'] . '&nbsp;';
         echo $row['nachname'] . '&nbsp;';
      }
      $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 :D ) ???
The Killer for Two
 
Posts: 2
Joined: 19. February 2010 13:38

Re: PDO über Xampp Ubuntu auf VirtualBox

Postby Nobbie » 19. February 2010 14:43

Gib mal statt "localhost" für den hostname den Wert "127.0.0.1" an.
Nobbie
 
Posts: 13175
Joined: 09. March 2008 13:04

Re: PDO über Xampp Ubuntu auf VirtualBox

Postby The Killer for Two » 19. February 2010 14:45

geht nicht,
damit ich überhaupt auf die "locale" maschine von der Virutalbox komme muss ich die IP der virtualbox angeben... in diesem Fall i-was mit 10.34.7....

//Edit: ok danke funktioniert... genial riesiges THX
//Edit2: kannst du mir auch sagen warum das mit localhost nicht funtzt?
The Killer for Two
 
Posts: 2
Joined: 19. February 2010 13:38

Re: PDO über Xampp Ubuntu auf VirtualBox

Postby Nobbie » 20. February 2010 11:47

The Killer for Two wrote://Edit2: kannst du mir auch sagen warum das mit localhost nicht funtzt?


Nicht unbedingt, war geraten, weil es die einzige Stelle ist, wo etwas schiefgehen kann. Das hängt von Deiner Installation ab, was Du dort angegeben hast, wie die Netze des Gastsystems und das des Hosts miteinander verknüpft sind. Ich hatte vermutet, dass "localhost" eben nicht (wie sonst) auf 127.0.0.1 verweist sondern irgendeine andere Auflösung hat. Deswegen der Versuch mit 127.0.0.1, das braucht nicht mehr aufgelöst zu werden. War offensichtlich ein Volltreffer.
Nobbie
 
Posts: 13175
Joined: 09. March 2008 13:04


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 96 guests