0
votes

When running a PHP file with autoloading I receive the following errors:

Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "app.log" could not be opened: failed to open stream: Permission denied' in /Users/name/Website2/BuildingWebsiteswithPHP2/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87 Stack trace: #0 /Users/name/Website2/BuildingWebsiteswithPHP2/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array) #1 /Users/name/Website2/BuildingWebsiteswithPHP2/vendor/monolog/monolog/src/Monolog/Logger.php(289): Monolog\Handler\AbstractProcessingHandler->handle(Array) #2 /Users/name/Website2/BuildingWebsiteswithPHP2/vendor/monolog/monolog/src/Monolog/Logger.php(341): Monolog\Logger->addRecord(300, 'Foo', Array) #3 /Users/name/Website2/BuildingWebsiteswithPHP2/index.php(8): Monolog\Logger->addWarning('Foo') #4 {main} thrown in /Users/name/Website2/BuildingWebsiteswithPHP2/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87

Here is my index.php file:

<?php 

require __DIR__ . '/vendor/autoload.php';

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));

$log->addWarning('Foo');

echo "Hello world!";

I have composer installed in my project folder, BuldingWebsiteswithPHP2. Will this instead need to be installed in XAMPP?

1
Change the permissions of the directories that say they have permissions denied.Ohgodwhy
@Ohgodwhy that worked! Thanks.Concordance

1 Answers

0
votes

The php process (usually the web server) doesn't have permission to access/write to app.log.