Skip to content

Error Installing Laravel with composer using franken's php-cli #483

@bsienn-khan

Description

@bsienn-khan

Following the discussion here #470 (comment)

I'm trying to use frankenphp php-cli to run composer commands.

I just ran ./frankenphp php-cli ./composer.phar create-project laravel/laravel example-app In an Empty Folder.
And get the following error. This is a composer command to install laravel project.

Edit 1

Very strange behavior just unfolded.
Note: I've system-level composer & php8.3 already installed

I renamed php folder /etc/php/8.3 to 8.3.off to be sure it is using Franky's build-in php
Hence the error after the above command. BUT If I keep the system php as it is (not renamed off), then
the installer worked fine.
To me this feels like the composer or franken php-cli used system's php somehow, maybe?

Edit 2

I ran php version and path in a file and here's the output.
$ ./frankenphp php-cli info.php
PHP Version: 8.3.1
PHP Path: /var/www/html/test/./frankenphp

$ php info.php
PHP Version: 8.3.1
PHP Path: /usr/bin/php

Edit 3

/frankenphp php-cli uses Web SAPI
php uses CLI
That difference is the cause maybe?

> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi

Fatal error: Uncaught ReflectionException: Class "config" does not exist in /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php:912
Stack trace:
#0 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(912): ReflectionClass->__construct('config')
#1 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\Container\Container->build('config')
#2 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(957): Illuminate\Container\Container->resolve('config', Array, true)
#3 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Foundation\Application->resolve('config', Array)
#4 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(942): Illuminate\Container\Container->make('config', Array)
#5 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(1454): Illuminate\Foundation\Application->make('config')
#6 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(560): Illuminate\Container\Container->offsetGet('config')
#7 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(611): Illuminate\Log\LogManager->getDefaultDriver()
#8 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(124): Illuminate\Log\LogManager->parseDriver(NULL)
#9 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(681): Illuminate\Log\LogManager->driver()
#10 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(317): Illuminate\Log\LogManager->error('Call to undefin...', Array)
#11 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(278): Illuminate\Foundation\Exceptions\Handler->reportThrowable(Object(Error))
#12 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(523): Illuminate\Foundation\Exceptions\Handler->report(Object(Error))
#13 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(203): Illuminate\Foundation\Console\Kernel->reportException(Object(Error))
#14 /var/www/html/test/example-app/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 {main}

Next Illuminate\Contracts\Container\BindingResolutionException: Target class [config] does not exist. in /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php:914
Stack trace:
#0 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(795): Illuminate\Container\Container->build('config')
#1 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(957): Illuminate\Container\Container->resolve('config', Array, true)
#2 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(731): Illuminate\Foundation\Application->resolve('config', Array)
#3 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(942): Illuminate\Container\Container->make('config', Array)
#4 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php(1454): Illuminate\Foundation\Application->make('config')
#5 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(560): Illuminate\Container\Container->offsetGet('config')
#6 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(611): Illuminate\Log\LogManager->getDefaultDriver()
#7 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(124): Illuminate\Log\LogManager->parseDriver(NULL)
#8 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Log/LogManager.php(681): Illuminate\Log\LogManager->driver()
#9 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(317): Illuminate\Log\LogManager->error('Call to undefin...', Array)
#10 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(278): Illuminate\Foundation\Exceptions\Handler->reportThrowable(Object(Error))
#11 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(523): Illuminate\Foundation\Exceptions\Handler->report(Object(Error))
#12 /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(203): Illuminate\Foundation\Console\Kernel->reportException(Object(Error))
#13 /var/www/html/test/example-app/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 {main}
  thrown in /var/www/html/test/example-app/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 914
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 255

composer.phar

Downloaded from the site directly.

frankenphp v1.0.3

Downloaded from the git directly.

How to reproduce on Ubuntu 22.04

$ mkdir test
$ cd test
# copy composer.phar & frankenphp here
$ ls > composer.phar frankenphp
$ ./frankenphp php-cli ./composer.phar create-project laravel/laravel example-app

Laravel installer runs fine untill it reaches pro-install script and error outs
This also happens on an existing project.

Using system-level php with composer works fine so it seems to be frankenphp php-cli's issue maybe.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions