如何为XAMPP安装PECL HTTP扩展?

时间:2015-05-28 14:46:09

标签: php http xampp pecl

我想在我的XAMPP环境中安装PHP PECL HTTP扩展(操作系统是Windows)。我试图将php_http.dll扩展的多个变体添加到我的ext目录中,并将extension = php_http.dll添加到php.ini文件中。然而,当我开始启动Apache服务时,它会引发某种错误。

我很清楚我做错了什么,但我不知道是什么。我能找到的最后一个相关问题是5年过时了。有没有人知道如何安装它?

2 个答案:

答案 0 :(得分:1)

您可以尝试:

For pecl.
Look in xampp\php for the pecl.bat file
Open a command console window in this folder and issue the pecl.bat command and it will give a list of commands to use.

答案 1 :(得分:1)

这篇文章介绍了如何在Windows上安装XAMPP来运行连接到远程Oracle数据库的PHP应用程序。

*

XAMPP是一个开源软件包,其中包含Apache,PHP和许多PHP “扩展”。这些扩展之一是PHP OCI8,它可以连接到 Oracle数据库。

*

要安装XAMPP:D:驱动器。

下载“ XAMPP for Windows”,然后按照安装向导进行操作。我已安装到我的 D:驱动器中。

通过XAMPP控制面板启动Apache服务器。

screenshot of XAMPP control panel

通过浏览器访问http://localhost/dashboard/phpinfo.php,以查看已安装的PHP的体系结构和线程安全模式。请注意,这是已安装的PHP的体系结构,而不是计算机的体系结构。可以在x64计算机上运行x86 PHP。

enter image description here

Oracle OCI8已预先安装在XAMPP中,但是如果需要更新版本,则可以从 pecl.php.net 下载更新的OCI8 PECL软件包。

选择一个OCI8版本,然后根据体系结构和线程安全模式选择DLL。例如,如果PHP为x86并且启用了线程安全,则下载“ 7.2线程安全(TS)x86”。然后用OCI8 PECL软件包中的新“ php_oci8_12c.dll”替换“ D:\ xampp \ php \ ext \ php_oci8_12c.dll”。

screenshot of PECL OCI8 download page

编辑“ D:\ xampp \ php \ php.ini”,然后取消注释“ extension = oci8_12c”行。确保将“ extension_dir”设置为包含PHP扩展DLL的目录。例如,

extension=oci8_12c

extension_dir="D:\xampp\php\ext"



  • OTN.

  • 下载Oracle Instant Client Basic软件包

选择正确的体系结构以与PHP保持一致。对于Windows x86,请从Windows 32位页面下载“ instantclient-basic-nt-12.2.0.1.0.zip”。

screenshot of Oracle Instant Client download page

解压缩目录“ D:\ Oracle”中的文件。将创建一个子目录“ D:\ Oracle \ instantclient_12_2”。

将此子目录添加到PATH环境变量中。您可以在控制面板->系统->高级系统设置->高级->环境变量->系统变量-> PATH中更新PATH。在我的示例中,将其设置为“ D:\ Oracle \ instantclient_12_2”。

重新启动Apache服务器,然后再次检查phpinfo.php页面。它显示OCI8扩展已成功加载。

screenshot of PHP configuration page showing a section for OCI8

如果您还从终端窗口运行PHP,请确保关闭并重新打开终端以获取更新的PATH值。

要运行您的第一个OCI8应用程序,请在XAMPP文档根目录“ D:\ xampp \ htdocs \ test.php”中创建一个新文件。它应包含:

<?php
 
error_reporting(E_ALL);
ini_set('display_errors', 'On');
 
$username = "hr";                  // Use your username
$password = "welcome";             // and your password
$database = "localhost/orclpdb";   // and the connect string to connect to your database
 
$query = "select * from dual";
 
$c = oci_connect($username, $password, $database);
if (!$c) {
    $m = oci_error();
    trigger_error('Could not connect to database: '. $m['message'], E_USER_ERROR);
}
 
$s = oci_parse($c, $query);
if (!$s) {
    $m = oci_error($c);
    trigger_error('Could not parse statement: '. $m['message'], E_USER_ERROR);
}
$r = oci_execute($s);
if (!$r) {
    $m = oci_error($s);
    trigger_error('Could not execute statement: '. $m['message'], E_USER_ERROR);
}
 
echo "<table border='1'>\n";
$ncols = oci_num_fields($s);
echo "<tr>\n";
for ($i = 1; $i <= $ncols; ++$i) {
    $colname = oci_field_name($s, $i);
    echo "  <th><b>".htmlspecialchars($colname,ENT_QUOTES|ENT_SUBSTITUTE)."</b></th>\n";
}
echo "</tr>\n";
 
while (($row = oci_fetch_array($s, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "<td>";
        echo $item!==null?htmlspecialchars($item, ENT_QUOTES|ENT_SUBSTITUTE):"&nbsp;";
        echo "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";
 
?>

您需要编辑此文件并设置数据库用户名,密码和连接字符串。如果使用的是Oracle Database XE,则连接字符串应为“ localhost / XE”。

还可以更改SQL查询。当前,它查询每个用户都有的特殊DUAL表。

使用http://localhost/test.php在浏览器中加载测试程序。输出将是名为“ DUMMY”的列中的单个值“ X”。



----注意


也许这可以帮上忙,但是这个问题在XAMPP中非常复杂。我已经在xampp中听到有关此问题的几份报告,我建议免费测试VPS以便进一步研究。
如有任何疑问,请在评论中发表。 如果有不兼容或错误的地方,请务必发表评论!谢谢