2009-06-02 54 views
0

我想从我不幸的是我在最后一道关卡掉落纽约时报(http://code.nytimes.com/projects/xslcacheXSLT缓存问题

安装这个PHP模块。我已经安装了它,添加到我的php.ini中,但是在我的PHP代码中运行时出现此错误。

Fatal error: Class 'xsltCache' not found in... 

我的PHP代码是由纽约时报网站

$xslt = new xsltCache; 

任何想法,为什么这可能发生的描述?

我的安装脚本模块是

cd ~ 
mkdir setups 
cd setups 
wget http://code.nytimes.com/downloads/xslcache.tar.gz 
tar -xvf xslcache.tar.gz 
cd xslcache 
phpize && ./configure --with-xslcache=/usr/lib/libxslt.so --with-xsl-exsl-dir=/usr/lib/libexslt.so 
make 
make install 

而且似乎工作完全正常,没有错误,php.ini文件是好的。我通知过的东西,它不会在phpinfo()中显示出来。

+2

对于目前用户正在查找此问题的用户:请注意,PHP> = 5.4的xslcache必须进行修补才能编译(pecl安装程序也会失败)。我在这里为需要帮助的人写了一篇简短的文章:http://michaelsanford.com/compiling-xslcache-0-7-1-for-php-5-4/ – msanford 2013-03-22 23:01:35

回答

2

检查您是否将扩展名添加到了正确的php.ini文件中。

如果您有一个PHP目录,您可能有一个PHP目录,但是您想要添加扩展名的目录可能位于您的服务器目录中。

I.E.在我的电脑上,要修改的正确的php.ini是apache \ bin \ php.ini

P.S.不要忘记重新启动服务器。

0

这听起来像你没有加载扩展名为php.ini文件,扩展名为xslcache.so。如果你的php.ini文件中有这样的行,请检查你的错误日志,看看PHP是否无法加载扩展。

+0

我没有将它添加到php.ini文件中,我会在哪里找到与此相关的错误日志? – James 2009-06-07 17:36:31

+0

假设Linux,并且您正在从Apache运行脚本,请检查您的apache error.log。如果您有shell访问权限,请尝试直接运行php。 – 2009-06-09 04:09:51

-1

抛出一个猜测在这里,但大小写问题? API文档将该类称为XSLTCache(),但是在nytimes上的封面页和您的代码称为xsltCache();我无法从我读过的或我在Google上可以找到的内容中知道PHP类名是否区分大小写。

0

它是一个资本化发行,但并不完全是什么SpliFF提示:

如果你看一下this test include file在纽约时报网站,资本应该是:

$proc = new xsltcache; 
0

难道上是一个权限问题/usr/lib/libexslt.so文件?也许PHP无法访问它?