Why do I get an error in laravel 8 log but not in browser - laravel

I normally duplicate a project to start a new one. In the browser, there is no error. The page displays properly. In Laravel log I get the following error, although the file fn_table.php is there. If I remove the file, I get an error in the browser.
[2021-08-27 09:55:45] local.ERROR: include_once(public/fn/fn_table.php): Failed to open stream: No such file or directory {"exception":"[object] (ErrorException(code: 0): include_once(public/fn/fn_table.php): Failed to open stream: No such file or directory at /Users/paul/WebSites/MeerkatSafaris/app/Providers/AppServiceProvider.php:12)
[stacktrace]
#0 /Users/paul/WebSites/MeerkatSafaris/app/Providers/AppServiceProvider.php(12): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(2, 'include_once(pu...', '/Users/paul/Web...', 12)
#1 /Users/paul/WebSites/MeerkatSafaris/app/Providers/AppServiceProvider.php(12): include_once()
#2 /Users/paul/WebSites/MeerkatSafaris/vendor/composer/ClassLoader.php(480): include('/Users/paul/Web...')
#3 /Users/paul/WebSites/MeerkatSafaris/vendor/composer/ClassLoader.php(346): Composer\\Autoload\\includeFile('/Users/paul/Web...')
#4 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(735): Composer\\Autoload\\ClassLoader->loadClass('App\\\\Providers\\\\A...')
#5 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(669): Illuminate\\Foundation\\Application->resolveProvider('App\\\\Providers\\\\A...')
#6 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php(75): Illuminate\\Foundation\\Application->register('App\\\\Providers\\\\A...')
#7 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(649): Illuminate\\Foundation\\ProviderRepository->load(Array)
#8 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/RegisterProviders.php(17): Illuminate\\Foundation\\Application->registerConfiguredProviders()
#9 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(237): Illuminate\\Foundation\\Bootstrap\\RegisterProviders->bootstrap(Object(Illuminate\\Foundation\\Application))
#10 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(310): Illuminate\\Foundation\\Application->bootstrapWith(Array)
#11 /Users/paul/WebSites/MeerkatSafaris/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(127): Illuminate\\Foundation\\Console\\Kernel->bootstrap()
#12 Command line code(1): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#13 {main}
What is happening?
In fact these errors are all over my project.
I learned how to create a file with global functions by listing their path in the autoload varibale in the composer.json. This is ok for functions used all over the project.
However, it happens that I need some global functions only in some controllers. I normally use php include_once which works 100% but generates the above error in the log.
What is the way around that?
And why is the laravel log reports an error on a file which is there?

Related

Laravel Failed to open stream: Permission denied for Dompdf lib fonts permission on CentOs7

I created laravel project that work fine on my local windows pc. Once I upload to Centos7 server(via SSH). I have problem on dompdf file export. I got an error
'fopen(/var/www/html/srp/vendor/dompdf/dompdf/lib/fonts/1efc692e8d059670778f16e902f6d711.ufm): failed to open stream: Permission denied'. Picture of errror https://ibb.co/ZShGG2X
This is error message grabbed from laravel.log
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'fopen(/var/www/...', '/var/www/html/s...', 45, Array)
#1 /var/www/html/srp/vendor/phenx/php-font-lib/src/FontLib/AdobeFontMetrics.php(45): fopen('/var/www/html/s...', 'w+')
#2 /var/www/html/srp/vendor/phenx/php-font-lib/src/FontLib/TrueType/File.php(361): FontLib\AdobeFontMetrics->write('/var/www/html/s...', NULL)
#3 /var/www/html/srp/vendor/dompdf/dompdf/src/FontMetrics.php(212): FontLib\TrueType\File->saveAdobeFontMetrics('/var/www/html/s...')
#4 /var/www/html/srp/vendor/dompdf/dompdf/src/Css/Stylesheet.php(1537): Dompdf\FontMetrics->registerFont(Array, 'http://110.49.7...', NULL)
#5 /var/www/html/srp/vendor/dompdf/dompdf/src/Css/Stylesheet.php(1376): Dompdf\Css\Stylesheet->_parse_font_face('font-family: 'T...')
#6 /var/www/html/srp/vendor/dompdf/dompdf/src/Css/Stylesheet.php(329): Dompdf\Css\Stylesheet->_parse_css('#font-face {\n\t ...')
#7 /var/www/html/srp/vendor/dompdf/dompdf/src/Dompdf.php(650): Dompdf\Css\Stylesheet->load_css('\n\t\t#font-face {...', 3)
Much appreciated for all advice, Thanks.

Dompdf Failed to open stream lib fonts Permission on Laravel

I created laravel project that work fine on my local windows pc. Once I upload to Centos7 server(via SSH). I have problem on dompdf file export. I got an error 'fopen(/var/www/html/srp/vendor/dompdf/dompdf/lib/fonts/1efc692e8d059670778f16e902f6d711.ufm): failed to open stream: Permission denied'. Picture of errror https://ibb.co/ZShGG2X
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'fopen(/var/www/...', '/var/www/html/s...', 45, Array)
#1 /var/www/html/srp/vendor/phenx/php-font-lib/src/FontLib/AdobeFontMetrics.php(45): fopen('/var/www/html/s...', 'w+')
#2 /var/www/html/srp/vendor/phenx/php-font-lib/src/FontLib/TrueType/File.php(361): FontLib\AdobeFontMetrics->write('/var/www/html/s...', NULL)
#3 /var/www/html/srp/vendor/dompdf/dompdf/src/FontMetrics.php(212): FontLib\TrueType\File->saveAdobeFontMetrics('/var/www/html/s...')
#4 /var/www/html/srp/vendor/dompdf/dompdf/src/Css/Stylesheet.php(1537): Dompdf\FontMetrics->registerFont(Array, 'http://110.49.7...', NULL)
Thank you for all advice.

Laravel: PHP artisan Command Stopped Working

php artisan --version
[Symfony\Component\Debug\Exception\FatalThrowableError]
Fatal error: Call to a member function getArgument() on null
Log files...
[2018-02-01 19:26:51] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Fatal error: Call to a member function getArgument() on null in /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Console/Command.php:216
Stack trace:
#0 /Library/WebServer/vhosts/mysitename/app/Console/Commands/ReportMonthlyMembershipAircraftBreakdown.php(69): Illuminate\Console\Command->argument('email')
#1 [internal function]: App\Console\Commands\ReportMonthlyMembershipAircraftBreakdown->__construct()
#2 /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Container/Container.php(783): ReflectionClass->newInstanceArgs(Array)
#3 /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Container/Container.php(633): Illuminate\Container\Container->build('App\\Console\\Com...', Array)
#4 /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('App\\Console\\Com...', Array)
#5 /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Console/Application.php(115): Illuminate\Foundation\Application->make('App\\Console\\Com...')
#6 /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Console/Application.php(129): Illuminate\Console\Application->resolve('App\\Console\\Com...')
#7 /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(237): Illuminate\Console\Application->resolveCommands(Array)
#8 /Library/WebServer/vhosts/mysitename/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Illuminate\Foundation\Console\Kernel->getArtisan()
#9 /Library/WebServer/vhosts/mysitename/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 {main}
I have deleted my entire vendor folder and tried to reinstate it, and it always gets to here and blows up with the same error.
Generating autoload files
> php artisan clear-compiled
[Symfony\Component\Debug\Exception\FatalThrowableError]
Fatal error: Call to a member function getArgument() on null
Here is my version pulled from the file, since I can't run an artisan --version to get it for you.
/**
* The Laravel framework version.
*
* #var string
*/
const VERSION = '5.2.32';
Just looking for any help you can give me. This has happened on both my local copy and the site copy
The problem came from having the command
$this->argument in the contructor and not in the handle method.
I just never expected that a console file would stop php artisan --version from stopping to work because of a command file that was not going to be run yet.
Thanks btl for getting me on the right direction.
You have an error in your code somewhere most likely which is giving you this error. Do a global search on getArgument() and see where it can be coming from.
[internal function]: App\Console\Commands\ReportMonthlyMembershipAircraftBreakdown

Artisan won't work in production but works fine locally

I am pulling my hair out over a problem in production: I cannot get my migrations to run. And, not only that but simply running 'php artisan' generates an error. The odd thing is that everything is working fine locally.
I am using Laravel 5.1 and have tried re-cloning my app on the server, re-installing vendor (after flushing the composer cache), redoing .env and giving permissions to the appropriate bootstrap/cache and storage files. I have also manually dropped all of my tables and then, when that didn't work, deleted and remade the database itself. I have run 'composer dump-autoload' many times as I tried to isolate the source of the problem with no luck.
I had a look at my log file and this is what comes up:
[2016-06-24 06:07:16] production.ERROR: exception 'ErrorException' with message 'Trying to get property of non-object' in /var/www/html/foobooks/app/Services/PrivacyService.php:157
Stack trace:
#0 /var/www/html/foobooks/app/Services/PrivacyService.php(157): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(8, 'Trying to get p...', '/var/www/html/l...', 157, Array)
#1 /var/www/html/foobooks/app/Services/DateService.php(69): Foobooks\Services\PrivacyService->getPrivacyLevelIdWithPrivacyLevel('everyone')
#2 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(239): Foobooks\Services\DateService->Foobooks\Services\{closure}()
#3 [internal function]: Illuminate\Cache\Repository->rememberForever('everyone_privac...', Object(Closure))
#4 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(318): call_user_func_array(Array, Array)
#5 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(217): Illuminate\Cache\CacheManager->__call('rememberForever', Array)
#6 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(217): Illuminate\Cache\CacheManager->rememberForever('everyone_privac...', Object(Closure))
#7 /var/www/html/foobooks/app/Services/DateService.php(70): Illuminate\Support\Facades\Facade::__callStatic('rememberForever', Array)
#8 /var/www/html/foobooks/app/Services/DateService.php(70): Illuminate\Support\Facades\Cache::rememberForever('everyone_privac...', Object(Closure))
#9 [internal function]: Foobooks\Services\DateService->__construct(Object(Foobooks\Repositories\Models\DbEventRepository), Object(Foobooks\Services\PrivacyService), Object(Foobooks\$
#10 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(780): ReflectionClass->newInstanceArgs(Array)
#11 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('Foobooks\...', Array)
#12 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('Foobooks\...', Array)
#13 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(220): Illuminate\Foundation\Application->make('Foobooks\...', Array)
#14 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(738): Illuminate\Container\Container->Illuminate\Container\{closure}(Object(Illuminate\Foundation\Application), Array)
#15 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build(Object(Closure), Array)
#16 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('Foobooks\...', Array)
#17 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(842): Illuminate\Foundation\Application->make('Foobooks\...')
#18 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(805): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#19 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(776): Illuminate\Container\Container->getDependencies(Array, Array)
#20 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('Foobooks\...', Array)
#21 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('Foobooks\...', Array)
#22 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Console/Application.php(115): Illuminate\Foundation\Application->make('Foobooks\...')
#23 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Console/Application.php(129): Illuminate\Console\Application->resolve('Foobooks\...')
#24 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(226): Illuminate\Console\Application->resolveCommands(Array)
#25 /var/www/html/foobooks/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Illuminate\Foundation\Console\Kernel->getArtisan()
#26 /var/www/html/foobooks/artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#27 {main}
The app seems to be actually trying to instantiate my class DateService somewhere in the autoload process (which in turn instantiates PrivacyService) and this is what is causing the problem. I have searched my app for all instances where it is injected but none seem to be part of the autoloading process - and, it doesn't explain why things are working just fine locally.
Initially, when artisan complained, it gave me a 'missing base table error' and, for whatever reason, if I 'fake' created the table in database and then dropped it manually, the app moved on to complaining about another table until I did the manual create/drop again. I was able to move through table errors this way until I hit this 'Trying to get property of non-object' error.
Does anyone have any idea what might be the problem? It feels like there is some kind of database caching file that I don't know about that is hanging about somewhere and causing this problem, making the app think the migrations/seeds have already occurred. It just seems odd that creating fake tables and dropping them seemed to be doing something until this error popped up - also, odd that only the production environment is affected.
Any help or insight would be greatly appreciated - thank you!
The solution: for some reason the permissions were different on some folders in my cache folder than others so the flush() method did not fully clear the cache. Legacy folders/files were conflicting with artisan's bootstrapping efforts. I was able to solve the problem by reapplying permissions to the storage/framework/cache directory, running flush() again. Once I did and made sure that ALL subfolders and files were deleted from the cache, I was able to run php artisan without a hitch.

Magento Warning Error in loading from Autoload.php on line 93

Please check I am migrating a Magento website to my local XAMPP and I am getting below Warning.
I did not find the file Mage\Core\Controller\Varien\Action.php
Warning: include(Mage\Core\Controller\Varien\Action.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\agandearth.com.au\lib\Varien\Autoload.php on line 93
#0 C:\xampp\htdocs\agandearth.com.au\lib\Varien\Autoload.php(93): mageCoreErrorHandler(2, 'include(Mage\Co...', 'C:\xampp\htdocs...', 93, Array)
#1 C:\xampp\htdocs\agandearth.com.au\lib\Varien\Autoload.php(93): Varien_Autoload::autoload()
#2 [internal function]: Varien_Autoload->autoload('Mage_Core_Contr...')
#3 C:\xampp\htdocs\agandearth.com.au\app\code\core\Mage\Core\Controller\Front\Action.php(35): spl_autoload_call('Mage_Core_Contr...')
#4 C:\xampp\htdocs\agandearth.com.au\lib\Varien\Autoload.php(93): include('C:\xampp\htdocs...')
#5 [internal function]: Varien_Autoload->autoload('Mage_Core_Contr...')
#6 C:\xampp\htdocs\agandearth.com.au\app\code\core\Mage\Cms\controllers\IndexController.php(36): spl_autoload_call('Mage_Core_Contr...')
#7 C:\xampp\htdocs\agandearth.com.au\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(337): include('C:\xampp\htdocs...')
#8 C:\xampp\htdocs\agandearth.com.au\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(308): Mage_Core_Controller_Varien_Router_Standard->_includeControllerClass('C:\xampp\htdocs...', 'Mage_Cms_IndexC...')
#9 C:\xampp\htdocs\agandearth.com.au\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(196): Mage_Core_Controller_Varien_Router_Standard->_validateControllerClassName('Mage_Cms', 'index')
#10 C:\xampp\htdocs\agandearth.com.au\app\code\core\Mage\Core\Controller\Varien\Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#11 C:\xampp\htdocs\agandearth.com.au\app\code\core\Mage\Core\Model\App.php(354): Mage_Core_Controller_Varien_Front->dispatch()
#12 C:\xampp\htdocs\agandearth.com.au\app\Mage.php(684): Mage_Core_Model_App->run(Array)
#13 C:\xampp\htdocs\agandearth.com.au\index.php(91): Mage::run('', 'store')
#14 {main}
I did not find the file Mage\Core\Controller\Varien\Action.php
app\code\core\Mage\Core\Controller\Varien\Action.php - a file that should not be missing in any Magento install I've ever worked with.
If it exists on the working website and not on your XAMPP website, then your transfer method failed. This is quite common with (s)ftp transfers and Magento Connect install/upgrade(s), you have to run them multiple times until everything actually is present.
If you are going to do a file by file transfer, you are better off using rsync as it will do a synchronization transfer that allows for recovery from partial transfers by only copying over what is missing on subsequent runs.
It is often better to create a compressed tar archive of the live server document root, transfer that and dearchive it on your server you are transferring to. This guarantees:
you get all the files on the running installation
are able to restore all the files from the running installation to the new installation
get a warning if the archive is corrupted so you aren't wasting time with trying to make a partial Magento install to run

Resources