مشکل Fatal error: Uncaught با فایل ConfigFileNotFoundException
ایجاد شده در ۰۱ خرداد ۱۴۰۰
سلام
من مشکل Fatal error: Uncaught با فایل ConfigFileNotFoundException برخورد کردم
در فایل ConfigFileNotFoundException فایل Exception برابر با Exception\ گذاشتم اما مشکل حل نشد
چند ساعت روش وقت گذاشتم اما باز مشکل حل نشد
من فایل به حالت زیر تغییر دادم
<?php
namespace App\Helpers;
class Configs {
public static function getFileContent (string $fileName) {
$filePath = realpath( __DIR__."../Configs/$fileName.php");
if (!$filePath){
throw new \Exception();
}
}
}
ارور زیر داد
Fatal error: Uncaught Exception in /var/www/expret-php/tdd/orm/src/Helpers/Configs.php:۱۰ Stack trace: #۰ /var/www/expret-php/tdd/orm/index.php(۷): App\Helpers\Configs::getFileContent() #۱ {main} thrown in /var/www/expret-php/tdd/orm/src/Helpers/Configs.php on line ۱۰
وقتکیه throw برمیدارم مقدار NULL نمایش داده میشه
مشکل از هسته php در سیستم من نیست؟
محسن محمدخانی۰۱ خرداد ۱۴۰۰، ۱۵:۲۵
سلام و احترام
لطفا فایل پروژتون رو قرار بدید
امیر صالحی۰۱ خرداد ۱۴۰۰، ۱۶:۵۹
سلام
محسن محمدخانی۰۱ خرداد ۱۴۰۰، ۱۷:۰۳
سلام
بعد از ساعتها بررسی , مشکل حل شد.
<?php
namespace App\Helpers;
use \Exception;
class Configs
{
public static function getFileContent(string $fileName)
{
/** error */
// $filePath = realpath(__DIR__."../Configs/$fileName.php");
/** correct */
$filePath = realpath(__DIR__ . "/../Configs/" . $fileName . ".php");
if (!$filePath) {
throw new Exception();
}
echo "okey";
}
}
Fatal error: Uncaught Exception in /var/www/expret-php/tdd/orm/src/Helpers/Configs.php:15 Stack trace: #0 /var/www/expret-php/tdd/orm/index.php(7): App\Helpers\Configs::getFileContent() #1 {main} thrown in /var/www/expret-php/tdd/orm/src/Helpers/Configs.php on line 15
مشکل اینجاست که چرا php به Uncaught Exception ارور میده و درصورتیکه اون مشکلی نداره و ارور مربوط به دستور realpath هستش
این ارور باعث شد که من فکر کنم Exception در هسته php من وجود نداره و php در لینوکس ابونتو من به درستی نصب نشده ولی وقتیکه در ویندوز چک کردم بازهم این مشکل دیدم تا این کد استاد کپی کردم و دیدم که ارور نمیده متوجه شدم که مشکل از دستور realpath هستش
ایا این یک باگ در هسته php نیست؟؟
محسن محمدخانی۰۲ خرداد ۱۴۰۰، ۱۷:۴۳
سلام ..
خیر مشکل از PHP نیست .. روشی که شما Variable رو با String کانکت کردید روش درستی نیست و به همین خاطر چنین اروری داده میشه.
مهرداد سامی۰۹ خرداد ۱۴۰۰، ۱۷:۵۲
سلام
من اینو میدونم
مشکل من اینجاست که اروری که php به من داده ارور زیر هستش
Fatal error: Uncaught Exception in /var/www/expret-php/tdd/orm/src/Helpers/Configs.php:15 Stack trace: #0 /var/www/expret-php/tdd/orm/index.php(7): App\Helpers\Configs::getFileContent() #1 {main} thrown in /var/www/expret-php/tdd/orm/src/Helpers/Configs.php on line 15
این ارور اصلا نمیگه که مشکل از Variable رو با String کانکت کردن هستش , میگه Uncaught Exception یعنی مشکل از Exception هستش که Exception جز هسته php هست که امکان نداره مشکل داشته باشه یا احتمالا بد نصب شده که من میخواستم php داخل لینوکس پاک کنم و دوباره نصب کنم
درصورتیکه مشکل از Variable رو با String کانکت کردن هستش و php نتونسته مشکل پیدا کنه