фатальная ошибка: ext / standard / php_smart_str.h: при установке yaml 1.3.2 такого файла или каталога нет - PullRequest
1 голос
/ 12 января 2020

Я пытаюсь установить Yaml 1.3.2 на мое устройство, которое имеет 5.6 enable php version ... После выполнения этой команды sudo pecl install yaml-1.3.2 Я получил эту ошибку:

creating libtool
    appending configuration tag "CXX" to libtool
    configure: patching config.h.in
    configure: creating ./config.status
    config.status: creating config.h
    running: make
    /bin/bash /tmp/pear/temp/pear-build-rootlbrA1X/yaml-1.3.2/libtool --mode=compile cc  -I. -I/tmp/pear/temp/yaml -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootlbrA1X/yaml-1.3.2/include -I/tmp/pear/temp/pear-build-rootlbrA1X/yaml-1.3.2/main -I/tmp/pear/temp/yaml -I/usr/include/php/20190902 -I/usr/include/php/20190902/main -I/usr/include/php/20190902/TSRM -I/usr/include/php/20190902/Zend -I/usr/include/php/20190902/ext -I/usr/include/php/20190902/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-rootlbrA1X/yaml-1.3.2/include -I/tmp/pear/temp/pear-build-rootlbrA1X/yaml-1.3.2/main -I/tmp/pear/temp/yaml -I/usr/include/php/20190902 -I/usr/include/php/20190902/main -I/usr/include/php/20190902/TSRM -I/usr/include/php/20190902/Zend -I/usr/include/php/20190902/ext -I/usr/include/php/20190902/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:10: fatal error: ext/standard/php_smart_str.h: No such file or directory
     #include <ext/standard/php_smart_str.h>
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    **compilation terminated.
    Makefile:193: recipe for target 'yaml.lo' failed
    make: *** [yaml.lo] Error 1
    ERROR: `make' failed**

Примечания :

ОС: Ubuntu 18

 php5.6 -i | grep yaml

/etc/php/5.6/cli/conf.d/20-yaml.ini,
yaml
yaml.decode_binary => 0 => 0
yaml.decode_php => 1 => 1
yaml.decode_timestamp => 0 => 0
yaml.output_canonical => 0 => 0
yaml.output_indent => 2 => 2
yaml.output_width => 80 => 80

1 Ответ

1 голос
/ 12 января 2020

Эта проблема решена после удаления всех php версий и сохранения одной версии, которая необходима (PHP 5.6)

Так что, я думаю, что для решения проблемы вам нужно включить указать c php ver и отключить другие, и обычно все будет работать нормально ...

Также вам необходимо убедиться, что если вы устанавливаете yaml (v2.0 +) для php 7+ , вам нужно удалить его и затем установить yaml-1.3.1, который поддерживает php 5.

Примечание: убедитесь, что вы установили phpX.Y- xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...