PHP7のpeclyamlにいくつかの問題があります(エラーログについては以下を参照)。私が見ることができるもの: https://pecl.php.net/package/yaml 問題をカバーすると思われる2.0用のRCがいくつかあるということです...私は現在コマンドを実行しています:
pecl install yaml && echo "extension=yaml.so" > /usr/local/etc/php/conf.d/ext-yaml.ini.
しかし、これではRCバージョンはインストールされないと思います。 RCをインストールするにはどうすればよいですか?多分提供するパラメータはありますか..?
私は次の解決策をグーグルで検索できます(テストされていません):
pear config-set preferred_state beta
しかし、これにより、すべての拡張機能のグローバルベータ状態が設定されると思います。この拡張機能をベータ版としてインストールしたいだけです。
running: make
/bin/bash /tmp/pear/temp/pear-build-defaultuserPVGidl/yaml-1.2.0/libtool --mode=compile cc -I. -I/tmp/pear/temp/yaml -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserPVGidl/yaml-1.2.0/include -I/tmp/pear/temp/pear-build-defaultuserPVGidl/yaml-1.2.0/main -I/tmp/pear/temp/yaml -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/yaml/yaml.c -o yaml.lo
mkdir .libs
cc -I. -I/tmp/pear/temp/yaml -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserPVGidl/yaml-1.2.0/include -I/tmp/pear/temp/pear-build-defaultuserPVGidl/yaml-1.2.0/main -I/tmp/pear/temp/yaml -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/yaml/yaml.c -fPIC -DPIC -o .libs/yaml.o
In file included from /tmp/pear/temp/yaml/yaml.c:35:0:
/tmp/pear/temp/yaml/php_yaml.h:56:40: fatal error: ext/standard/php_smart_str.h: No such file or directory
#include <ext/standard/php_smart_str.h>
^
compilation terminated.
Makefile:195: recipe for target 'yaml.lo' failed
make: *** [yaml.lo] Error 1
ERROR: `make' failed
それで、いくつかの追加のグーグルの後、私が最初に探していたRCの代わりに、ベータパッケージをインストールする方法を検索することによってインストールする方法を見つけました..face-Palm
http://php.net/manual/en/install.pecl.pear.php
..したがって、正しいコマンドは次のようになります。
pecl install yaml-beta && echo "extension=yaml.so" > /usr/local/etc/php/conf.d/ext-yaml.ini
Stable2.0.0は2016-09-24にリリースされました。バージョン1.x.xは引き続きサポートされているため、バージョン番号を指定する必要があります。例:
pecl install yaml-2.0.0 && echo "extension=yaml.so" > /usr/local/etc/php/conf.d/ext-yaml.ini
https://pecl.php.net/package/yaml で最新リリースを見つけてください
Ubuntu 16.04(PHP 7.0)では、次のことができます。
apt install libyaml-dev php-dev php-pear
pecl install yaml-2.0.0
echo "extension=yaml.so" > /etc/php/7.0/cli/conf.d/20-yaml.ini
echo "extension=yaml.so" > /etc/php/7.0/Apache2/conf.d/20-yaml.ini
php-pear
は、pecl
コマンドを使用するために必要ですphp-dev
はphpize
コマンドに必要です(peclで使用)libyaml-dev
は... yamlライブラリに必要ですこれまでのところ、答えは私のCentos 7 PHP 7。
しかし、私はそれを行う方法を理解しています:
yum install php70w-devel php70w-pear zlib-devel curl-devel gcc
yum install libyaml-devel
pecl install yaml-beta
それがCentosを使用している他の人にも役立つことを願っています。