Ubuntu 18.04にPHP 8.0 Yaml拡張機能をインストールする

Ubuntu 18.04にPHP 8.0 Yaml拡張機能をインストールする

最初の例に基づいて簡単なPHPを作成しました。

https://www.php.net/manual/es/function.yaml-parse.php

私は持っています...

Fatal error: Uncaught Error: Call to undefined function yaml_parse() in /var/www/html/p.php:33 Stack trace: #0 {main} thrown in /var/www/html/p.php on line 33

私はondrejリポジトリを使ってPHPをインストールします。

root@hidra:~# cat /etc/apt/sources.list.d/ondrej-ubuntu-php-bionic.list 
deb http://ppa.launchpad.net/ondrej/php/ubuntu bionic main
deb-src http://ppa.launchpad.net/ondrej/php/ubuntu bionic main

yaml 拡張パッケージがインストールされていません。

apt-file search phpize
apt-file search php8.0-yaml
apt-file search php8.2-yaml

さて、phpizeでコンパイルしてみましょう。

phpizeやphp8.0-devはありません(phpizeは通常Debianにあります)

root@hidra:~# apt-get install php8.0-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package php8.0-dev
E: Couldn't find any package by glob 'php8.0-dev'
E: Couldn't find any package by regex 'php8.0-dev'

Ubuntu 22.04も試してみました。 ondrej php8.x-dev php8.x-yamlはありません。そしてphp-dev o php-yamlはphp7.2バージョンをインストールしようとします。

また、PECLのymalコードにはPHP 7が必要です。

この場合、正しいインストール方法は何ですか?

使ったhttps://github.com/dallgoot/yaml解決はされたのに問題が気になりますね。

ベストアンサー1

YAML拡張機能のインストール:yaml_parse()関数はPHP拡張機能で提供されており、デフォルトでは有効になっていません。 PHP用のYAML拡張機能をインストールして有効にする必要があります。

UbuntuなどのDebianベースのシステムでは、通常、次のコマンドを使用してインストールできます。

sudo apt-get update
sudo apt-get install php-yaml

または

sudo pecl install yaml

インストール後、php.iniファイルに次の行を追加して拡張機能を有効にする必要があります。

extension=yaml.so

Webサーバーの再起動

おすすめ記事