我已将文件从本地环境切换到我的vps,现在我的facebook通知无法正常工作,即使我已经确定我已经正确更新了所有路径.我尝试过多种方式编写require路径.
我正在从 jquery做一个“$.post”到一个PHP页面,其中发送了facebook通知并收到此错误:
我正在从 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.