你的系统不只是拉
20230831
由于没有安装,因此您似乎安装了多个版本的PHP。
20230831
适用于PHP 8.3。
% php -v
PHP 8.3.10 (cli) (built: Aug 2 2024 15:31:39) (NTS)
Copyright (c) The PHP Group
% php -i | grep API
PHP API => 20230831
我猜你可能有
php
指向一个版本和
php-config
指向另一个。您可以通过运行以下命令来验证这一点
php配置
,以确保它与什么相匹配
php
输出:
% php-config
Options:
--extension-dir [/usr/lib/php/20230831]
--phpapi [20230831]
--version [8.3.10]
为了纠正这个问题,您必须运行所有php实用程序的替代方案,而不仅仅是php本身。我用几个别名简化了这一点
.bashrc
:
alias php74='sudo -- sh -c "for P in php php-config phpize phar phar.phar; do update-alternatives --set \$P /usr/bin/\${P}7.4; done"'
alias php80='sudo -- sh -c "for P in php php-config phpize phar phar.phar; do update-alternatives --set \$P /usr/bin/\${P}8.0; done"'
alias php81='sudo -- sh -c "for P in php php-config phpize phar phar.phar; do update-alternatives --set \$P /usr/bin/\${P}8.1; done"'
alias php82='sudo -- sh -c "for P in php php-config phpize phar phar.phar; do update-alternatives --set \$P /usr/bin/\${P}8.2; done"'
alias php83='sudo -- sh -c "for P in php php-config phpize phar phar.phar; do update-alternatives --set \$P /usr/bin/\${P}8.3; done"'
alias php84='sudo -- sh -c "for P in php php-config phpize phar phar.phar; do update-alternatives --set \$P /usr/bin/\${P}8.4; done"'
然后我就可以打字了
php82
将所有内容切换到v8.2等。