Edit: Solved at https://lemmings.world/comment/1719409
Hi there! I’m trying to make php and composer work. I have this in environment.systemPackages
:
(pkgs.php82.buildEnv {
extensions = ({ enabled, all }: enabled ++ (with all; [
xdebug
redis
]));
extraConfig = ''
memory_limit=2G
xdebug.mode=debug
'';
})
php82Extensions.redis
The problem is that while running php -m
correctly prints that redis extension is installed, composer
does not, because it uses a different php:
file $(which php)
prints the path/nix/store/igx8j4qjxy9jyj8kjyccwarnzqq5vsml-php-with-extensions-8.2.9/bin/php
cat $(which composer)
shows that it’s a wrapper for'/nix/store/lv4prxa52zifr54ws56iz3b9kdhs1b5w-php-with-extensions-8.2.9/bin/php' --add-flags '/nix/store/avqj0662f4gg2s875zlbbjajx6fm6bl0-php-composer-2.5.5/libexec/composer/composer.phar'
Note that the path to php is different. Is there any way to correct it on my side? I’d like to avoid having to install composer manually
You must log in or register to comment.
pkgs.composer.override { php = YourPhp; };
should do the trick.Just a while ago I solved it using this: https://lemmings.world/comment/1719409
But thanks, will remember it for the next time!