我按照这篇文章在apache服务器上启用PHP5 XSL扩展: .htaccess instead of php.ini
php_extension xsl.so
添加上面的行后,它显示500内部服务器错误。并推荐?
答案 0 :(得分:3)
只有当PHP作为模块安装并因此作为其一部分加载时,Apache才会接受.htaccess
文件中的PHP设置。如果PHP被设置为CGI你运气不好 - 这将无法正常工作。
如果你不能直接编辑php.ini
尝试将php.ini放在与.htaccess
相同的文件夹中(有时它只是有效 - 如果有suphp
或{{1安装)。
您可以尝试的另一件事是dl()。
答案 1 :(得分:0)
我认为php_extension xsl.so
是不正确的,允许的php apache modul配置只有php_value
,php_flag
,php_admin_value
和php_admin_flag
:
@see:https://www.php.net/manual/configuration.changes.php
我发现了与通过htaccess加载php模块相同的帖子,并且尝试使用以下方式加载它:
php_value php_extension curl
Apache/2.4.41 (Win64)
和PHP/7.3.13
中进行了测试这不会产生任何错误500,但对加载的php模块似乎没有任何影响(允许通过启用AllowOverride All
的.htaccess覆盖apache配置)。
即使这行得通,您也应该像在此注释中https://serverfault.com/a/1013773/200655
那样在此行周围添加<IfModule>
不幸的是,PHP函数dl()的替代方法是在许多php版本的php apache模块中将其删除。