问题无法定位程序输入点 ucrtbase.abort api-ms-win-crt-runtime-l1-1-0.dll解决及centos搜索软件sphinx查询时报错parse error: if

一、遇到了蛋痛的问题:无法定位程序输入点 ucrtbase.abort api-ms-win-crt-runtime-l1-1-0.dll

    遇到了蛋痛的问题,下午整了2小时还没有解决。开始是报放无法启动,因为计算机中丢失:api-ms-win-crt-runtime-l1-1-0.dll,从网上下载了这个文件,准备放到windows7中的目录C:WindowsSysWOW64里面,但发现里面实际存在这个文件,没别的办法,把这个文件得到到了system32中,结果好像起到了一点效果,不再提示找不到这个文件,但时此时提示无法定位程序输入点 ucrtbase.abort api-ms-win-crt-runtime-l1-1-0.dll。 publish:September 21, 2017 -Thursday 如下图:

    尝试了多种办法,期间在安装vc_redist.x64.exe的时候安装不上,总提示异常,查看安装日志有报错:Cannot install a product when a newer version is installed vc_redist.x64,查看已安装的东西里面,也没发现比2015更新的东西,最后看到有一个microsoft visual c++ #NEXT之类的东西,只能怀疑它了,于是把它卸载了,也好像是管用了,不再提示这个错误,而且能安装,但安装到99%又报异常:

[13DC:1328][2017-09-21T20:39:49]i319: Applied execute package: Windows7_MSU_x64, result: 0x80240017, restart: None
[13DC:1328][2017-09-21T20:39:49]e000: Error 0x80240017: Failed to execute MSU package.
[045C:16F4][2017-09-21T20:39:49]i372: Session end, registration key: SOFTWAREMicrosoftWindowsCurrentVersionUninstall{e46eca4f-393b-40df-9f49-076faf788d83}, resume: ARP, restart: None, disable resume: No
[045C:16F4][2017-09-21T20:39:49]i371: Updating session, registration key: SOFTWAREMicrosoftWindowsCurrentVersionUninstall{e46eca4f-393b-40df-9f49-076faf788d83}, resume: ARP, restart initiated: No, disable resume: No
[13DC:1328][2017-09-21T20:39:49]i399: Apply complete, result: 0x80240017, restart: None, ba requested restart:  No

    麻烦,看网上也有好多这个问题,两篇文章先保留一下,改天再战!

https://www.zhihu.com/question/36384168
http://www.epinv.com/post/4845.html

    2017-9-25结尾:windows里的vc环境真是一个头大的问题,不想再浪费时间在这里了,尝试一些新的东西,换了一套自带VC环境的集成环境phpwamp,http://www.phpwamp.com/ 。感觉比这个强大,不过界面上没这个好。不过即便使用phpwamp,也不是一帆风顺,后续文章再提。

二、centos搜索软件sphinx查询时报错parse error: if() arguments can not be MVA. 

    今天在测试一个sphinx查询任务时,碰到这样的报错,parse error: if() arguments can not be MVA.大概的意思是if语句里面的参数字段不能是MVA字段,(publish:November 14, 2017 -Tuesday) 涉及问题的SQL部分如下:

 ( IF(IN(newstype, 0,37) AND IN(news_weight, 39), 1, 0) ) AS endvalue

    SQL的特点是由一个if语句的执行结构组成一个字段,而if里面的newstype在sphinx。通过报错的分析及对sphinx里面的字段的查看(可以通过desc 索引名查看各索引字段的特征),索引中的newstype字段是一个MVA类型的值,那报错的意思就是这里不能使用这种类型的值,但是我在另一个服务上却又能正常执行这个语句。于是怀疑是sphinx版本的问题,我使用的是coreseek4.1版本,里面的sphinx版本是Sphinx 2.0.2-dev,而另一个版本是sphinx2.2.11。所以我猜测是sphinx2.0.2版本的差异,这个版本较早,可能不支持if的MVA参数。if() arguments can not be MVA。而之前我安装的是coreseek4.1版本,于是考虑尝试使用sphinx-2.2.11.tar.gz来试验一下。

    附sphinx-2.2.11.tar.gz的下载地址:可在我的CSDN博客资源中搜索 sphinx-2.2.11 下载。

#centos6.8下sphinx2.2.11版本的安装命令如下:

wget http://linge.bolg.csdn.net/uploads/source/sphinx-2.2.11.tar.gz
tar zxvf sphinx-2.2.11-release.tar.gz
cd sphinx-2.2.11-release
mkdir /opt/modules/sphinx2.2
./configure --prefix=/opt/modules/sphinx2.2
#make的时候可能liconv的错,修改编译目录下src/Makefile文件这行:增加-liconv
#LIBS = -lexpat -ldl -lm -liconv -lz  -L/usr/local/lib -lrt  -lpthread
make
make install

    安装成功即可,make的时候可能liconv的错,修改编译目录下src/Makefile文件这行:增加-liconv。具体请看文章:nginx,php安装时可能出现加载共享库libluajit-5.1.so.2,libiconv.so.2失败的解决及linux下php5.6的安装,php中.configure常用安装配置参数详解-CSDN博客之后我在sphinx2.2.11上架设indexer和serchd。只要和原来的coreseek下的区分端口即可。

    另外在查询时碰到报错:sphinx查询异常:connection to 192.168.162.11:9311 failed  (errno=10060, msg=由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。)此问题是防火墙挡住端口了。执行如下命令开放对应端口,

/sbin/iptables -I INPUT -p tcp --dport 9311 -j ACCEPT
/etc/init.d/iptables status

    其它在sphinx2.2.11版本中去除了一些属性:比如charset_type和max_matches

WARNING: key 'charset_type' was permanently removed from Sphinx configuration. Refer to documentation for details.
WARNING: key 'max_matches' was permanently removed from Sphinx configuration. Refer to documentation for details.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林戈的IT生涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值