10

PHP7 の pecl yaml にいくつかの問題があります(エラー ログについては以下を参照してください)。私が見ることができるもの: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
4

3 に答える 3

17

それで、いくつかの追加のグーグル検索の後、最初に探していた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


安定版 2.0.0 は 2016 年 9 月 24 日にリリースされました。バージョン 1.xx は引き続きサポートされているため、バージョン番号を指定する必要があります。

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で最新リリースを見つけてください

于 2015-12-09T01:51:25.507 に答える