执行php artisan jetstream:install livewire时Phar扩展报错求助
以下是针对性的排查和解决步骤:
确认CLI模式的PHP配置
执行php --ini查看当前CLI环境加载的php.ini文件路径,打开该文件确认是否存在extension=phar(Linux/macOS为extension=phar.so,Windows为extension=php_phar.dll),且该行未被;注释。有时候php -i显示的是缓存信息,直接检查配置文件更准确。校验Composer使用的PHP版本
运行composer config --list | grep php查看Composer关联的PHP路径,再用which php(Linux/macOS)或where php(Windows)查看当前终端使用的PHP路径,确保两者为同一版本。如果Composer调用的是另一个PHP环境,即使当前PHP的Phar扩展启用也无效。测试Phar扩展的实际可用性
执行php -r "var_dump(class_exists('Phar'));",若输出bool(true)说明扩展确实可用;若为false,则php -i的结果可能存在缓存问题,需重启终端或PHP服务,甚至重新安装php-phar扩展包(比如Debian系系统执行sudo apt install php-phar)。清理Composer缓存
运行composer clear-cache清空缓存,缓存的旧配置可能导致错误判断,清理后重新执行php artisan jetstream:install livewire尝试。最后尝试:重装Composer
若前面步骤均未解决问题,直接重新安装Composer,安装时确保使用Phar扩展正常的PHP版本,避免安装过程出现异常。
内容的提问来源于stack exchange,提问作者Eduardo Marcolongo

