亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何解決require_once中的致命錯誤

如何解決require_once中的致命錯誤

PHP
一只甜甜圈 2023-09-15 09:42:44
我的項目有兩個入口點project (root-folder)/config(folder)    config.php/service(folder)    service.phpindex.php例如文件 1:/index.php(第一個入口點) - 這里我們包含 config 文件夾中的配置<?phprequire_once('config/config.php');require_once('service/service.php');?>文件 2:service/service.php - 這里我們包含配置文件夾中的配置<?phprequire_once('../config/config.php');?>如果我調用文件 2:service/service.php 沒有致命錯誤但是當我調用 File 1:/index.php 時,它變成了致命錯誤,因為無法要求“service/service.php”,因為它再次要求并且配置路徑無效如何解決這個問題。
查看完整描述

2 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

原因:


出現此問題是因為您的執行從 開始index.php,然后您需要service/service.php?,F在,service.php當您這樣做時../config/config.php,PHP 嘗試從index.php角度解析目錄路徑,但它找不到任何此類文件或目錄。因此,出現錯誤。


解決方案:


在 中聲明一個常量index.php。檢查該常量是否存在于service/service.php. 如果沒有,則需要它,否則跳過它,如下所示:


索引.php:


<?php

   define('INDEX_ENTRY_POINT',true);

   require_once('config/config.php');

   require_once('service/service.php');

?>

服務.php:


<?php

   if(!defined('INDEX_ENTRY_POINT')){

     require_once('../config/config.php');

   }

?>

注意:最好使用__DIR__絕對路徑而不是相對路徑來避免此類問題。


查看完整回答
反對 回復 2023-09-15
?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

您必須考慮到,當您從index.php調用service.php時,根目錄是index.php的根目錄。現在有很多方法可以解決這個問題。您可以確定 service.php 是主控制器,就像 index.php 一樣,因此屬于根文件夾。就我個人而言,我會將 service.php 保留在根文件夾中,這樣更符合邏輯。



查看完整回答
反對 回復 2023-09-15
  • 2 回答
  • 0 關注
  • 207 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號