情况分析
环境:宝塔面板
我们在使用 WordPress wp-jpost采集插件 的时候,如果指定了curl的路径则会出现这样的报错:
Warning: is_executable(): open_basedir
是因为我们指定了这个curl的路径,比如:/usr/bin/curl 但是php 警告 warning :不能打开这个可执行文件。
所以我们这里需要将 这个curl路径添加到php的可执行环境中。
为什么要使用指定的Linux curl路径?
我们都知道一般的网站我们都能抓取的信息,但是有些网站做了防采集,所以我们使用这里需要用到Linux自带的curl功能来抓网站啦。
如何安装Linux curl?
Centos
yum install curl -y
Debian
apt-get install curl -y
解决办法
宝塔7
is not within the allowed path(s) 意思是没权限访问那个文件夹
每个网站路径下面都有一个 .user.ini 文件.
里面的内容为PHP
open_basedir=/www/wwwroot/xxx.com/:/tmp/:/usr/bin/curl
这个代表本网站可以访问的路径,将curl的路径添加进去
如果需要添加其他路径.可以直接在后面添加即可,每个路径之间用:隔开
添加以后 重启下Nginx即可生效. 其他环境应该也都一样.
老版宝塔
1.打开宝塔面板,再对应的php版本一栏,点击【设置】。
2.切换标签栏到配置文件,并转到open_basedir配置行
从 disable_functions
中把 exec
去掉。
3.修改open_basedir
open_basedir = /usr/bin/curl:/tmp:/www/wwwroot/
默认这里前面有个分号,这里需要去掉。