php – 我的require_once路径出了什么问题?

前端之家收集整理的这篇文章主要介绍了php – 我的require_once路径出了什么问题?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已将文件从本地环境切换到我的vps,现在我的facebook通知无法正常工作,即使我已经确定我已经正确更新了所有路径.我尝试过多种方式编写require路径.
我正在从 jquery做一个“$.post”到一个PHP页面,其中发送了facebook通知并收到此错误
<b>Fatal error</b>:  Class 'Facebook' not found in 

<b>/home/zjkkvcxc/public_html/accepted.PHP</b> on line <b>9</b><br />

//THIS IS MY PHP REQUIRE PATH. 

require_once('PHP-sdk/facebook.PHP') ;

//IN MY LOCAL ENVIRONMENT I WAS USING THIS PATH BECAUSE IT WAS THE ONLY ONE THAT WORKED. THIS DOESN'T WORK ON MY VPS THOUGH. 

require_once(dirname(__FILE__).'/PHP-sdk/facebook.PHP') ;
我之前遇到过这样的问题,处理这个问题的最佳方法是将您的真实文件路径设置为变量&将其添加到您的包含/要求中.因为整个dirname(__ FILE__)设置可能在不同的环境中奇怪地表现,特别是那些使用符号链接的环境.明确说明文件的设置位置是最佳解决方案.

所以我们假设这是你的代码库路径;根据你的例子:

/home/zjkkvcxc/public_html/

将其设置为一个变量,所有页面都以某种方式加载:

$BASE_PATH = '/home/zjkkvcxc/public_html/';

现在,当您为应用程序调用文件系统时,请执行以下操作:

require_once($BASE_PATH . 'PHP-sdk/facebook.PHP');

这样的设置有什么好处,你可以通过改变$BASE_PATH来匹配你的本地环境,让你的应用程序在环境之间移植.像这样可能是MAMP(Mac OS X LAMP)设置的路径:

$BASE_PATH = '/Application/MAMP/htdocs/';

关于奇数__FILE__如何在符号链接环境中起作用,read up here

Since PHP 4.0.2,_ FILE _ always contains an absolute path with symlinks resolved whereas in older versions it contained relative path under some circumstances.

猜你在找的PHP相关文章