很多时候,我们需要这个或那个PHP扩展来使我们的PHP应用程序运行。
困难的部分是,当我们使用框架时,我们无法检查项目所需的每个扩展。我们假设其中一些扩展很受欢迎,默认情况下应启用它们。
有时用户将我们的应用程序安装在新的/专用服务器上,而没有配置得很好的PHP,甚至我们认为应该处于活动状态的一些基本扩展都不是。
是否存在可以捕获与扩展相关的错误的类。因此,基本上每当发生与某些扩展相关的错误时,我们都可以将用户引导到特殊页面并要求他们启用此扩展,这样他们就不会认为错误与应用程序有关,但缺少扩展缺失。
我们如何针对此类错误/例外进行更好的异常处理?
答案 0 :(得分:1)
这是一个PHP问题,而不是Laravel问题。默认情况下Laravel requires mcrypt,mbstring,openssl ..等大多数其他/任何体面的PHP Web应用程序/框架。在某些情况下,您的项目可能还需要其他模块。
但是在PHP中,您可以使用extension_loaded
函数来确定是否加载了扩展名。例如
if(!extension_loaded('mcrypt')){
//maybe try to load it or display a nice 404 error page
}
您可以将上面的代码块放在index.php中,并显示您自己的自定义404/500页面,告诉用户很好的问题。