Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以从文本文件加载php函数?_Php_Suphp - Fatal编程技术网

是否可以从文本文件加载php函数?

是否可以从文本文件加载php函数?,php,suphp,Php,Suphp,我最近更新了我的服务器,使用SUPPP来提高安全性 一个缺点是,我过去可以使用文件的绝对路径包含服务器上托管的其他域中的文件。这不管用了 特别是我从其他域包含的文件是我的函数文件,它非常大,在我所有的网站上都使用。为了可维护性,我已经包含了一个中心文件,而不是每次进行更改时都将该文件上载到每台服务器 我认为将函数文件保存为纯文本并跨域使用file_get_contents()可能是正确的方法。但显然这不起作用 有没有办法让它发挥作用 或者有没有其他的功能可以帮助我实现我的目标 干杯。听起来您需要

我最近更新了我的服务器,使用SUPPP来提高安全性

一个缺点是,我过去可以使用文件的绝对路径包含服务器上托管的其他域中的文件。这不管用了

特别是我从其他域包含的文件是我的函数文件,它非常大,在我所有的网站上都使用。为了可维护性,我已经包含了一个中心文件,而不是每次进行更改时都将该文件上载到每台服务器

我认为将函数文件保存为纯文本并跨域使用file_get_contents()可能是正确的方法。但显然这不起作用

有没有办法让它发挥作用

或者有没有其他的功能可以帮助我实现我的目标


干杯。

听起来您需要在每个网站vhost中配置open_base_dir,以便允许他们访问这些功能文件所在的目录。你应该把它们放在一个公共的位置

另一种方法是使用php_info()检查include路径,查看是否已经配置了一个合适的位置来放置这些文件,然后使用include()简单地包含


所有网站都在同一个环境中托管,您对php.ini有控制权吗?硬链接可以跨所有vhost/uid工作。是的,我有php.ini控制权。要添加到我的答案中,我建议使用后一个选项,因为include路径更适合您试图实现的目标。我已选中phpinfo()接下来是包含路径,上面写着::/usr/lib/php:/usr/local/lib/php这是合适的位置吗?如何在此位置上载文件?您可以编辑ini文件中的include_路径,在此处添加另一个路径,用冒号分隔,例如:。:/usr/lib/php:/usr/local/lib/php:/home/user/my_php_文件如果您没有完全访问服务器的权限,则此路径必须是您有权访问的位置。