윈도우에서 PHP로 이상한 문제가 발생했습니다 ... 내 응용 프로그램에서 설정 파일을로드하고 자동로드를 등록하며 초기화 등을 수행하는 '코어'파일을로드합니다. include_once ("config.php "); 이것은 현재 디렉토리에서 아무 문제없이 작동하는데, 만약 내가 분리 된 디렉토리에서 코어 파일을 포함한다면, 자동으로 설정 파일의 include를 무시한다. /webroot/core.phprequire_once 무시했다.
<?php
require_once "config.php";
//register autoloads
//do some initialization... standard stuff
?>
/webroot/config.php
<?php
define("WEB_ROOT","/webroot");
define("DB_USER","root");
// ... more stuff...
?>
/webroot/admin/index.php
<?php
require_once("../dbconnect.php");
echo WEB_ROOT;
// print string literal WEB_ROOT rather than value in config.php
?>
는 나의 이해는 그 파일입니다 작업은 요청을 만드는 파일의 디렉토리와 관련이 있습니다. require_once ("config.php")가 파일을 선택하지 않아야합니다. core.php에 유창한가요? 이 코드는 Mac이나 Linux에서 기대하는 것처럼 작동하지만 Windows에서는 전혀 작동하지 않습니다 (전체 경로 또는 ../을 사용하도록 요구 사항을 변경하면 작동 함)
진짜 광기는 require_once ("config.php")는 에러를 던지지 않지만 내부 코드는 실행되지 않습니다!
아무도 발견했다 index.php를로드인지 config.php 또는 core.php 대신 dbconnect.php? 당신도 dbconnect.php의 내용을 보여줄 필요가 있습니다 ... –