PHP7中的PECL yaml

PHP7中的PECL yaml,yaml,pecl,php-7,Yaml,Pecl,Php 7,PHP7中的pecl yaml存在一些问题(请参阅下面的错误日志)。我在上面看到的是:2.0版的一些RC被认为涵盖了这个问题。。。我当前正在运行以下命令: pecl install yaml && echo "extension=yaml.so" > /usr/local/etc/php/conf.d/ext-yaml.ini. 但我猜这不会安装RC版本如何安装RC?是否提供参数 我可以用谷歌搜索以下解决方案(未经测试): 但我想这将为所有扩展设置一

PHP7中的pecl yaml存在一些问题(请参阅下面的错误日志)。我在上面看到的是:2.0版的一些RC被认为涵盖了这个问题。。。我当前正在运行以下命令:

pecl install yaml && echo "extension=yaml.so" > /usr/local/etc/php/conf.d/ext-yaml.ini. 
但我猜这不会安装RC版本如何安装RC?是否提供参数

我可以用谷歌搜索以下解决方案(未经测试):

但我想这将为所有扩展设置一个全局beta状态。我只想以beta版安装此扩展


错误日志
运行:生成
/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/temp/pear build defaultuserPVGidl/yaml-1.2.0/include-I/tmp/pear build defaultuserPVGidl/yaml-1.2.0/main-I/tmp/pear/pear-temp/pear/temp/temp/yaml-I/usr/local/local/include/php/main-I/usr/local/include/php/TSRM-I/usr/local/include/php/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/yaml-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-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
在/tmp/pear/temp/yaml/yaml.c:35:0中包含的文件中:
/tmp/pear/temp/yaml/php_yaml.h:56:40:致命错误:ext/standard/php_smart_str.h:没有这样的文件或目录
#包括
^
编译终止。
Makefile:195:目标'yaml.lo'的配方失败
make:**[yaml.lo]错误1
错误:`make'失败

因此,在进行了一些额外的谷歌搜索之后,我通过搜索如何安装测试版软件包找到了如何安装,而不是像我第一次寻找的那样搜索RC面部手掌

…因此正确的命令应该是:

pecl install yaml-beta && echo "extension=yaml.so" > /usr/local/etc/php/conf.d/ext-yaml.ini


Stable 2.0.0于2016年9月24日发布。版本1.x.x仍然受支持,因此您需要指定版本号,例如:

pecl install yaml-2.0.0 && echo "extension=yaml.so" > /usr/local/etc/php/conf.d/ext-yaml.ini

上查找最新版本到目前为止还不错,答案不适用于我的Centos 7 PHP 7

但我想怎么做:

yum install php70w-devel php70w-pear zlib-devel curl-devel gcc
yum install libyaml-devel
pecl install yaml-beta
我希望这也能帮助其他使用Centos的用户。

在ubuntu 16.04(PHP7.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
  • 使用
    pecl
    命令需要
    php-pear
  • phpize
    命令(由pecl使用)需要
    php dev
  • libyaml-dev
    是。。。亚马尔图书馆

你的意思是>>不是>?@ShaunF一个或另一个,在这种情况下不重要。该文件不存在,您需要创建它。如果您喜欢使用“>>”,它将在本上下文中实现相同的功能。我之前用
yaml-beta
解决了这个问题(并对答案进行了投票),但最近我再次遇到了错误,并用
yaml-2.0.0
修复了它(与编辑的答案相同)我使用的是
pecl-install-yaml
,我刚刚改为
pecl-install-yaml-2.0.0
,它成功了,谢谢。。。但是我的php说yaml函数不可用,phpinfo没有显示任何yaml扩展…好的,找到了原因。。。没有将conf.d文件添加到相应的文件夹。。。如果你的处境和我一样,请遵循以下说明:救生员,谢谢!!有人能帮我解决类似的问题吗?
yum install php70w-devel php70w-pear zlib-devel curl-devel gcc
yum install libyaml-devel
pecl install yaml-beta
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