前提・実現したいこと
WindowsサーバーにてXAMPP環境を構築してPHPのWebシステム画面を実装しております。
なぜか特定の画面のみnamespaceで500エラーが発生してしまい困っております。
おそらく単純なミスのような気がしておりますが、なかなか原因特定にたどり着けないのでお力添えをいただきたく存じます。
●ソースの構成
test
-- AutoLoad - AutoLoad.php
-- User - Status - test.php
発生している問題・エラーメッセージ
HTTP ERROR 500
該当のソースコード
PHP
1[test.php] 2<?php 3ini_set('error_reporting', E_ALL | E_STRICT); ←追記 4ini_set('display_errors', 1); ←追記 5namespace User\Status; 6 7require_once $_SERVER['DOCUMENT_ROOT'] . '\test\AutoLoad\AutoLoad.php'; 8 9$autoload = new AutoLoad(); 10$autoload->registerDir($_SERVER['DOCUMENT_ROOT'] . '/test'); 11$autoload->register(); 12 13session_name('test'); 14session_start(); 15 16// セッション確認 17if ($_SESSION['id']) { 18 $centerId = $_SESSION['id']; 19} else { 20 header('Location: ./login.php'); 21 exit; 22} 23?> 24
PHP
1[AutoLoad.php] 2<?php 3 4namespace test\AutoLoad; 5 6class AutoLoad 7{ 8 9 protected $dirs; 10 11 public function register() 12 { 13 spl_autoload_register(array( 14 $this, 15 'loadClass' 16 )); 17 } 18 19 public function registerDir($dir) 20 { 21 $this->dirs[] = $dir; 22 } 23 24 public function loadClass($class) 25 { 26 foreach ($this->dirs as $dir) { 27 $file = $dir . '/' . $class . '.php'; 28 if (is_readable($file)) { 29 require $file; 30 return; 31 } 32 } 33 } 34} 35?> 36
試したこと
他の場所(AutoLoad等)で発生しているのかなと思い、コメントアウトして1行ずつ確認しましたが、
namespaceが有効の時のみ500エラーが発生してしまいます。
補足情報(FW/ツールのバージョンなど)
PHP 5.6.8
Apache 2.4.12
MySQL Ver14.14 Distrib 5.6.24
回答1件
あなたの回答
tips
プレビュー