宝塔面板 Warning: is_executable(): open_basedir

情况分析

环境:宝塔面板

我们在使用 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/

默认这里前面有个分号,这里需要去掉。

4.重新载入php配置

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注