2017-01-24 78 views
5

我使用 Windows10 64位 的Apache 2.4.25(Win64的) PHP 7.1.0-Win32的VCl 4-64上PHP7 windows10啓動捲曲64位的Apache 2.4

當我嘗試調用curl_init()函數,我得到一個錯誤說 「調用未定義功能curl_init()」 嘗試以下

  • 拷貝ssleay32.dll &的libeay32.dll & php7ts.dll加入到apache/bin文件夾
  • 設置路徑p羅列地包含上面的文件「C:/ PHP」

任何幫助非常感謝。

+0

我試圖解決同樣的問題。您是否在事件查看器 - > Windows日誌 - >應用程序中看到「無法加載動態庫」{php ext path} \ php_curl.dll'「消息? – wclear

+0

嘗試將php文件夾中的libssh2複製到apache/bin文件夾中,那現在就爲我工作。 – wclear

+1

將php7文件夾中的libssh2文件複製到apache/bin,但沒有成功。除了libssh2複製之外,你還有其他什麼改變嗎? – Sonic

回答

8

以下是獲得PHP來實現捲曲的步驟:

  1. 下載PHP(這些步驟7.1測試)
  2. PHP文件夾添加到PATH環境變量
  3. 更新php.ini文件中具有絕對的擴展目錄的路徑和取消註釋php_curl.dll和php_openssl.dll擴展
  4. 更新httpd.conf(Apache配置文件)以加載PHP文件夾中的php7apache2_4.dll模塊並將PHPIniDir設置爲PHP目錄
  5. 將libeay32.dll libssh2.dll和ssleay32.dll複製到apache/bin(替換現有)
  6. 重新啓動Apache。

    1)編輯php.ini文件啓用(取消註釋)php_curl.dll和php_openssl.dll擴展

    2)轉至c::

+0

謝謝先生!我花了3天的時間試圖讓這個工作。我會和導遊一起安裝VC14 redist。它會工作一段時間,然後恢復到擴展不會加載的位置。我擔心我永遠不會得到它的工作,但複製DLLs的確有竅門。這是我在過去的10多年中第一次在Windows上使用Apache/PHP時遇到了這個問題,我必須這樣做。很奇怪。 – cgTag

+0

剛剛遇到了這個問題與Apache 2.4.29和PHP 7.2.0(兩個x64)。我的PHP安裝(直接從windows.php.net)沒有你列出的一堆文件。我將'libssh2.dll'複製到了我的Apache'bin /'中,它工作正常。救星。 – sheng

0

我通過固定它/ PHP7/

將libssh2.dll複製到c:/ apache24/bin文件夾中。

3)測試:curl_test.php

<?php 

// Script to test if the CURL extension is installed on this server 

// Define function to test 
    function _is_curl_installed() { 
if (in_array ('curl', get_loaded_extensions())) { 
    return true; 
} 
else { 
    return false; 
} 
} 

// Ouput text to user based on test 
if (_is_curl_installed()) { 
    echo "cURL is <span style=\"color:blue\">installed</span> on this server"; 
    } else { 
    echo "cURL is NOT <span style=\"color:red\">installed</span> on this server"; 
} 
?>