login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Apache loopt vast (Opgelost)

Offline BaddyZ - 09/01/2009 21:46 (laatste wijziging 09/01/2009 21:48)
Avatar van BaddyZNieuw lid Hallo,

Ik heb een website waar ik een model view controller gebruik.
Nu is mijn index.php zo:
  1. <?php
  2.  
  3. require 'includes/startup.php';
  4.  
  5. # Connect to DB
  6. try{
  7. $db = new PDO('mysql:host=localhost;dbname=stenden', 'admin', 'admin');
  8. $registry->set ('db', $db);
  9. }
  10. catch (PDOException $e) {
  11. echo "Error: Couldn't open the DB. " . $e->getMessage();
  12. }
  13.  
  14. # Load template object
  15. $template = new Template($registry);
  16. $registry->set ('template', $template);
  17.  
  18. # Load router
  19. $router = new Router($registry);
  20. $registry->set ('router', $router);
  21. $router->setPath ('controllers');
  22.  
  23. # Load functions
  24. require 'includes/functions.php';
  25.  
  26. # Set language
  27. if(isset($_GET['lang']))
  28. $_SESSION['lang'] = $_GET['lang'];
  29. elseif(!isset($_SESSION['lang']))
  30. $_SESSION['lang'] = "dutch";
  31.  
  32. if($_SESSION['lang']=="dutch")
  33. {
  34. $langMenu = "menunl";
  35. $langNews = "newsnl";
  36. $langEvent = "eventnl";
  37. $registry['template']->set("newsHeader","Nieuws: ");
  38. }
  39. elseif($_SESSION['lang']=="english")
  40. {
  41. $langMenu = "menuen";
  42. $langNews = "newsen";
  43. $langEvent = "eventen";
  44. $registry['template']->set("newsHeader","News: ");
  45.  
  46. }
  47. elseif($_SESSION['lang']=="german")
  48. {
  49. $langMenu = "menudu";
  50. $langNews = "newsdu";
  51. $langEvent = "eventdu";
  52. $registry['template']->set("newsHeader","Nachricht: ");
  53. }
  54.  
  55. if(isset($_GET['tid']))
  56. {
  57. $_SESSION['menu_id'] = $_GET['tid'];
  58. }
  59.  
  60. # Set menu
  61. $sql = "SELECT menu.id menuid, menu.ordermenu menuorder, menu.link menulink, menu.ref menuref, menu2.name menunaam FROM menu JOIN ".$langMenu." as menu2 ON menu.id = menu2.menu_id WHERE menu.publishDate <= DATE(CURRENT_TIMESTAMP) ORDER BY menuref, menuorder";
  62.  
  63. $statement = $registry['db']->prepare($sql);
  64. $statement->execute();
  65. $rows = $statement->fetchAll();
  66.  
  67. $registry->set("menus",$rows);
  68. $registry['template']->set("menus", $rows);
  69.  
  70. # Set admin menu
  71. if(isset($_COOKIE['drentheTechniekLogin']))
  72. {
  73. $adminMenu = "";
  74. $user = explode(":", $_COOKIE['drentheTechniekLogin']);
  75. $result = runQuery("SELECT username, password, type, rights FROM user WHERE username='".$user[0]."' AND password='" .$user[1]. "'",$registry['db']);
  76. if(isset($result[0]))
  77. {
  78.  
  79. if($result[0]['type']=="1")
  80. {
  81. $adminMenu .= '<li>Beheer
  82. <ul>
  83. <li><a href="index.php?route=admin/gegevens">Userdata</a></li>
  84. <li><a href="index.php?route=admin/userManagement">Usermanagement</a></li>
  85. <li><a href="index.php?route=admin/addUser">Add user</a></li>
  86. <li><a href="index.php?route=content/addContent">Add content</a></li>
  87. <li><a href="index.php?route=content/editContentOverzicht">Contentoverview</a></li>
  88. <li><a href="index.php?route=news/addNews">Add news</a></li>
  89. <li><a href="index.php?route=events/addEvent">Add event</a></li>
  90. <li><a href="index.php?route=admin/metaData">Metadata</a></li>
  91. <li><a href="index.php?route=admin/logout">Logout</a></li>
  92. </ul></li>';
  93. }
  94. elseif($result[0]['type']=="0")
  95. {
  96. $rights = explode(":", $result[0]['rights']);
  97. $adminMenu .= '<li>Beheer
  98. <ul>
  99. <li><a href="index.php?route=admin/gegevens">Gegevens</a></li>';
  100. if($rights[0])
  101. $adminMenu .= '<li><a href="index.php?route=content/addContent">Add content</a></li>';
  102. $adminMenu .= '<li><a href="index.php?route=content/editContentOverzicht">Contentoverview</a></li>';
  103. if($rights[1])
  104. $adminMenu .= '<li><a href="index.php?route=news/addNews">Add news</a></li>';
  105. if($rights[2])
  106. $adminMenu .= '<li><a href="index.php?route=events/addEvent">Add event</a></li>';
  107. $adminMenu .= '<li><a href="index.php?route=admin/logout">Logout</a></li>';
  108. $adminMenu .= '</ul></li>';
  109. }
  110. $registry['template']->set('adminMenu',$adminMenu);
  111. }
  112. }
  113.  
  114. # set Headers
  115. $registry['template']->set("nieuwsteNews",runQuery("SELECT id, title, content FROM ".$langNews." ORDER BY id DESC LIMIT 1",$registry['db']));
  116. $registry['template']->set("nieuwsteEvent",runQuery("SELECT id, startDate, title FROM ". $langEvent ." WHERE enddate >= DATE(NOW()) ORDER BY startDate, startTime LIMIT 1",$registry['db']));
  117.  
  118. $router->delegate();
  119.  
  120. $db = NULL;
  121. ?>


en mijn router.php als volgt:
  1. <?php
  2.  
  3. Class Router {
  4. private $registry;
  5. private $path;
  6. private $args = array();
  7.  
  8. function __construct($registry) {
  9. $this->registry = $registry;
  10. }
  11.  
  12. function setPath($path) {
  13. $path = trim($path, '/\\');
  14. $path .= DIRSEP;
  15.  
  16. if (is_dir($path) == false) {
  17. throw new Exception ('Invalid controller path: `' . $path . '`');
  18. }
  19.  
  20. $this->path = $path;
  21. }
  22.  
  23. function delegate() {
  24. // Analyze route
  25. $this->getController($file, $controller, $action, $args);
  26.  
  27. // File available?
  28. if (is_readable($file) == false) {
  29. die ('404 Not Found');
  30. }
  31.  
  32. // Include the file
  33. include ($file);
  34.  
  35. // Initiate the class
  36. $class = 'Controller_' . $controller;
  37. $controller = new $class($this->registry);
  38.  
  39. // Action available?
  40. if (is_callable(array($controller, $action)) == false) {
  41. die ('404 Not Found');
  42. }
  43.  
  44. // Run action
  45. $controller->$action();
  46. }
  47.  
  48.  
  49. private function getController(&$file, &$controller, &$action, &$args) {
  50. $route = (empty($_GET['route'])) ? '' : $_GET['route'];
  51.  
  52. if (empty($route)) { $route = 'index'; }
  53.  
  54. // Get separate parts
  55. $route = trim($route, '/\\');
  56. $parts = explode('/', $route);
  57.  
  58. // Find right controller
  59. $cmd_path = $this->path;
  60. foreach ($parts as $part) {
  61. $fullpath = $cmd_path . $part;
  62.  
  63. // Is there a dir with this path?
  64. if (is_dir($fullpath)) {
  65. $cmd_path .= $part . DIRSEP;
  66. array_shift($parts);
  67. continue;
  68. }
  69.  
  70. // Find the file
  71. if (is_file($fullpath . '.php')) {
  72. $controller = $part;
  73. array_shift($parts);
  74. break;
  75. }
  76. }
  77.  
  78. if (empty($controller)) { $controller = 'index'; };
  79.  
  80. // Get action
  81. $action = array_shift($parts);
  82. if (empty($action)) { $action = 'index'; }
  83.  
  84. $file = $cmd_path . $controller . '.php';
  85. $args = $parts;
  86. }
  87. }
  88.  
  89. ?>


Als ik nu op de site wil komen dan gaat hij een tijdje laden en op gegeven moment loopt mijn apache vast:S

Ik gebruik xampp en de nieuwe php versie.
Daarnaast heb ik vista(sucks).

kan iemand helpen ?

12 antwoorden

Gesponsorde links
Offline henver - 09/01/2009 21:47
Avatar van henver HTML gevorderde En wat is nu juist het probleem?
Offline BaddyZ - 09/01/2009 21:51 (laatste wijziging 09/01/2009 21:53)
Avatar van BaddyZ Nieuw lid Normaal zou hij het moeten, ik vraag me af waarom me apache door dit te laden niet meer werkt.

In mijn configuratie(startup).php heb ik dit voor de includes nog staan:
  1. if (version_compare(phpversion(), '5.1.0', '<') == true) { die ('PHP5.1 Only'); }
  2.  
  3. // Constants:
  4. define ('DIRSEP', DIRECTORY_SEPARATOR);
  5.  
  6. // Get site path
  7. $site_path = realpath(dirname(__FILE__) . DIRSEP . '..' . DIRSEP);
  8. define ('site_path', $site_path);


Als ik in index.php
$router->setPath ('controllers');
in
$router->setPath (site_path . 'controllers');
verander dan krijg ik de volgende error:


Fatal error: Uncaught exception 'Exception' with message 'Invalid controller path: `C:\xampp\htdocs\website\mvccontrollers\`' in C:\xampp\htdocs\website\mvc\classes\Router.php:17 Stack trace: #0 C:\xampp\htdocs\website\mvc\index.php(22): Router->setPath('C:\xampp\htdocs...') #1 {main} thrown in C:\xampp\htdocs\website\mvc\classes\Router.php on line 17
Offline Threetimes - 09/01/2009 22:02 (laatste wijziging 09/01/2009 22:03)
Avatar van Threetimes PHP beginner Hij heeft het over:
  1. \website\mvc\classes\Router.php

dus ik neem aan dat de map:
  1. \website\mvc

bestaat.

Hij heeft het ook over:
  1. \website\mvccontrollers\

maar ik denk dat dat:
  1. \website\mvc\controllers\

moet zijn.

Ik denk dat je in index.php:
  1. $router->setPath (site_path . '\controllers');

moet gebruiken.
Offline Joost - 10/01/2009 10:59
Avatar van Joost PHP expert Als apache crasht, kun je even kijken in de error_log of daar wat staat 
Offline tomie94 - 10/01/2009 11:02
Avatar van tomie94 PHP interesse ik heb dit probleem ook, op onverklaarbare wijze: http://phphulp....p;id=59536 .

Het licht waarschijnlijk aan pdo. Ik denk dat het een bug is in php/xampp
Offline BaddyZ - 12/01/2009 17:39
Avatar van BaddyZ Nieuw lid kben er niet uitgekomen,,,, kan iemand me ook toevoegen op msn en me helpen? dan stuur ik de website wel ff naar je toe..
Offline Threetimes - 12/01/2009 18:59
Avatar van Threetimes PHP beginner MSN? Bah!

Draait je server windoos, Linux of nog iets anders?
Voor windoos: ga naar
configuratiescherm>systeembeheer>logboeken
en snuffel wat rond todat je iets over apache ziet. Post daar iets van.
Voor Linux: kijk in
/var/log/apache2/error.log
en post de laatste regels van vlak voor de crash.
Offline BaddyZ - 12/01/2009 19:25 (laatste wijziging 12/01/2009 19:29)
Avatar van BaddyZ Nieuw lid Naja ik heb ff wat meer informatie en code online gezet, zie eenalaatste post van mij: Linkje

Khad ff geen zin om alles nog een keer op plaatscode te zetten -.-

- System

- Provider

[ Name] Application Error

- EventID 1000

[ Qualifiers] 0

Level 2

Task 100

Keywords 0x80000000000000

- TimeCreated

[ SystemTime] 2009-01-12T18:05:33.000Z

EventRecordID 8449

Channel Application

Computer Notebook_Baddy

Security


- EventData

apache.exe
2.2.11.0
493f5d44
ntdll.dll
6.0.6001.18000
4791a7a6
c0000005
0006814c
138c
01c974e04637f32f
Offline Giant - 12/01/2009 20:00
Avatar van Giant PHP beginner en nu uit het error log van apache...
ga hiervoor naar:
[installdirapache]/logs/error.log
Offline BaddyZ - 12/01/2009 20:05
Avatar van BaddyZ Nieuw lid Zie linkje daar staat ie al in mja nog een keer dan:P

apache error logje:

[Mon Jan 12 19:04:58 2009] [warn] pid file C:/xampp/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
[Mon Jan 12 19:04:58 2009] [notice] Digest: generating secret for digest authentication ...
[Mon Jan 12 19:04:58 2009] [notice] Digest: done
[Mon Jan 12 19:05:02 2009] [notice] Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8 configured -- resuming normal operations
[Mon Jan 12 19:05:02 2009] [notice] Server built: Dec 10 2008 00:10:06
[Mon Jan 12 19:05:02 2009] [notice] Parent: Created child process 5616
[Mon Jan 12 19:05:03 2009] [notice] Digest: generating secret for digest authentication ...
[Mon Jan 12 19:05:03 2009] [notice] Digest: done
[Mon Jan 12 19:05:04 2009] [notice] Child 5616: Child process is running
[Mon Jan 12 19:05:04 2009] [notice] Child 5616: Acquired the start mutex.
[Mon Jan 12 19:05:04 2009] [notice] Child 5616: Starting 250 worker threads.
[Mon Jan 12 19:05:04 2009] [notice] Child 5616: Starting thread to listen on port 443.
[Mon Jan 12 19:05:04 2009] [notice] Child 5616: Starting thread to listen on port 80.
[Mon Jan 12 19:05:31 2009] [notice] Parent: child process exited with status 255 -- Restarting.
Offline lemoinet - 12/01/2009 20:25
Avatar van lemoinet PHP gevorderde ik heb dit dus ook voor met xampp 1.7.0 bij het gebruik van zendframework met de pdo_mysql adapter
Offline BaddyZ - 12/01/2009 21:47
Avatar van BaddyZ Nieuw lid ps
hij werkt al,, komt door xampp 1.7.0
kheb 1.6.8 geinstalleerd en het werkt

strange mja:P
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.319s