我在网站上实现 Zend 框架时遇到问题。它不是一个花哨的应用程序,只是使用 Zend 的一些验证类和 Zend_File_Transfer_Adapter_Http 将文件上传到服务器。它们都不起作用。问题是这样的:我读过我应该编写一个 htaccess 文件来指示站点的文件夹结构,并且应该启用 mod_rewrite。我不知道如何检查 mod_rewrite,因为我的提供商的控制面板信息量非常少。
无论如何,我认为像这样包含 Zend 库就足够了:
$libreria = $_SERVER['DOCUMENT_ROOT'];
$libreria.='Zend/ZendFramework/library';
set_include_path(get_include_path().PATH_SEPARATOR.$libreria);
require_once('Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::getInstance();
但显然不是。所以我的另一个问题是:¿我是否应该以不同的方式实例化 Autoloader,我是否应该指定一个命名空间,就像$loader = Zend_Loader_Autoloader::getInstance(); $loader->registerNamespace(something);
我不这么认为的那样,因为正如我所说,我只是试图将验证类和文件上传类包含到网络中页。
最后,我在一些脚本上设置了类 PHPMailer 来处理用户输入,每当我似乎正确地包含 Zend Framework 的路径时,页面就会抛出 500 Internal Server 错误,而如果我写的路径不正确,则不会发生这种情况(这是另一个问题,我认为如果我设置相对于文档的路径它不起作用,例如 do $libreria='Zend/ZendFramework/library';
不起作用,因为无论我写什么,我都看到我为验证输入设置的所有条件都失败了。
那么最后一个问题是:PHPMailer 与 Zend Framework 是否有些不兼容?对不起,我是个新手,虽然我检查了 PHPMailer 类并且没有发现任何不兼容的东西,但我必须问。
如果有人愿意提供帮助,请提前致谢
我还应该补充一点,我已经在本地服务器上测试了这个网站,它工作正常,问题出在远程服务器上。
另外,我在这里阅读了这篇文章,这正是我正在寻找的,根据它我应该能够使用 new 运算符引用 Zend 的标准类。但是在远程服务器上我不能这样做,只能在本地。
再搜索一下,我在同一站点上阅读了有关 Zend 安装失败的可能原因,这使我能够澄清我的问题:首先,我认为这些条件都可能没有失败,尽管正如我所说的我没有'无法在我的提供者的远程服务器上检查 mod_rewrite,其次,我的 htaccess 文件是空的,所以没有重定向规则(应该丢弃 Zend Framework 与不正确的 htaccess 交互的问题,如果我错了,请纠正我),第三,我无权访问 php.ini 文件。那么我能做什么呢?任何建议都被接受,因为我整个早上都在努力解决这个问题,并且不知道出了什么问题。