在 .htaccess 中启用 PHP 扩展

在 .htaccess 中启用 PHP 扩展

有人知道如何在.htaccess文件中启用 PHP 扩展吗?

可能:

(.htaccess file)
php_value extension=php_soap.so

答案1

它与 Apache 的 httpd.conf 的语法完全相同,因此:

LoadModule php_soap modules/php_soap.so

(对于“模块”位,我假设您正在使用 /etc/httpd 中的常规模块目录。如果不是,请将该目录放在它的位置。)(错误)

它不是一个模块,正如我最初所想的那样,而是一个 php 扩展。扩展具有以下语法:

extension=soap.so(也是错误的)

显然是:

php_extension soap.so

得到这个Drupal 论坛中的主题。Ymmv。我现在要回家了,因为显然我的大脑今天已经筋疲力尽了。

另外,请确保您允许覆盖,否则网络服务器将忽略您的 .htaccess 文件。

答案2

根据手册扩展键可以仅有的在php.ini文件中使用。

但是您可以在.htaccess 文件中执行此操作......

php_value auto_prepend_file /path/to/loadsoap.php

....并且在/path/to/loadsoap.php中...

<?php

dl(init_get("extension_dir") . "/php_soup.so");

答案3

这取决于您的 php 版本和操作系统。

例如在较旧的 php 版本中你必须这样做

php_value php_extension php_curl.so

在 Linux 和

php_value php_extension php_curl.so

在 Windows 中。但在 php 7 中你可以这样做

php_value php_extension curl

并且它也适用于 Windows 和 Linux。对于 PHP 版本,您可以添加如下块:

<IfModule mod_php5.c>
    php_value php_extension php_curl.so
</IfModule>

<IfModule mod_php7.c>
    php_value php_extension curl
</IfModule>

但不幸的是,我不知道如何在 .htaccess 中检查 Windows 或 Linux。因此,您必须接受大多数托管服务器都是 Linux 的情况,您的服务器在 Windows 中运行。您必须更改php_curl.sophp_curl.dll

更新:我今天注意到,使用和php_value php_extension curl时对模块没有影响,我不确定哪些版本受到此问题的影响。Apache/2.4.41 (Win64)PHP/7.3.13

相关内容