programing

치명적 오류: 정의되지 않은 함수 curl_init() 호출

firstcheck 2022. 9. 26. 21:47
반응형

치명적 오류: 정의되지 않은 함수 curl_init() 호출

<?php
$filename = "xx.gif";
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));

// $data is file data
$pvars   = array('image' => base64_encode($data), 'key' => IMGUR_API_KEY);
$timeout = 30;
$curl    = curl_init();

curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.xml');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);

$xml = curl_exec($curl);

curl_close ($curl);

var_dump($xml);
?>

Imgur PHP.net에 .curl_init()PHP5 php php php php php php 。떻게하 하???

이전 버전의 Debian 및 Ubuntu에서는 PHP용 Curl 확장을 설치하고 웹 서버를 재시작하여 이 문제를 해결했습니다.웹 서버가 Apache 2인 경우:

sudo apt-get install php5-curl
sudo service apache2 restart

새로운 버전에서는 패키지 이름이 다음과 같이 변경되었습니다.

sudo apt install php-curl

추가 설치가 필요할 수 있습니다.

sudo apt-get install curl libcurl3 libcurl3-dev;

curl은 설치가 필요한 확장 기능으로 PHP 버전과는 관계가 없습니다.

http://www.php.net/manual/en/curl.setup.php

아직 평판이 좋지 않아 코멘트를 할 수 없다.Ubuntu 및 간단한 사용:

sudo apt-get install php5-curl
sudo /etc/init.d/apache2 restart

나한테는 안 통했어

이유에선지.curl.so는 디폴트로 픽업되지 않은 위치에 설치되어 있습니다.했습니다.extension_dir하여 php.로 했습니다.curl.so 나 my my myextension_dir

cp /usr/lib/php5/20090626/curl.so  /usr/local/lib/php/extensions/no-debug-non-zts-20090626

이것이 누군가에게 도움이 되기를 바라며, 그에 따라 경로 위치를 조정하십시오.

Ubuntu의 경우

PHP용 Curl 확장을 설치하고 Apache 서버를 재시작합니다.

sudo apt-get install php5-curl
sudo service apache2 restart

Windows 의 경우

가 발생하는 .dll이 PHP에 되어 있지 하지 않는 , , PHP 의 는, 「lib_curl.dll」입니다.php.ini가 이미 해 주세요.php.ini파일을 작성하다

extension=php_bz2.dll
extension=php_curl.dll
extension=php_dba.dll

이제 Apache 서버를 다시 시작합니다."Unable to Load php_curl.dll" 오류가 표시되면 SSLEAY32를 복사합니다.System32 폴더에 대한 PHP, libEAY32.dll(OpenSSL) 라이브러리.

ubuntu에서 php 7.0의 경우

sudo apt-get install php7.0-curl

그리고 마지막으로

sudo service apache2 restart 

또는

sudo service nginx restart

이것을 하다

sudo apt-get install php-curl

서버를 재부팅합니다.

sudo service apache2 restart

PHP 7.1.14를 실행하고 있는 ubuntu 16.04에서 이 현상이 발생했습니다.해결하려면 먼저 이걸 스크립트에 넣고 실행하세요.컬이 설치되어 활성화되어 있으면 true가 반환되고 그렇지 않으면 false가 반환됩니다.

<?php
    var_dump(extension_loaded('curl'));
?>

false가 반환되면 실행

sudo apt-get install php7.1-curl

그리고 마지막으로

sudo service apache2 restart

재시작 후 스크립트는 true를 반환하며 오류가 해결되기를 바랍니다.

Windows 7 x 64 에 필요한 모든 정보를 포함한 솔루션이 있습니다.

http://www.youtube.com/watch?v=7qNTi1sEfE8

프랑스어로 되어 있지만, 당신은 모든 것을 이해할 수 있어요!프랑스어도 할 줄 모르면서 같은 문제를 풀었어요. :-)

많은 답변이 http://www.anindya.com/php-5-4-3-and-php-5-3-13-x64-64-bit-for-windows/ 에서 새로운 버전의 php_disc.disc 파일을 추가해야 한다는 것을 잊었습니다.

아카이브 php_curl-5.4.3-VC9-x64.zip에서 새로운 버전의 php_curl.dll을 폴더 C:\wamp\bin\php\php5.4.3\ext 및 C:에 추가했습니다.\Windows\System32, 모든 게 정상이었어!

이것은 공식 웹사이트에서 가져온 것입니다.

PHP 설치 후.

창문들

Windows\system32 폴더 libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll로 이동합니다.

리눅스

Apache24\bin 폴더 libssh2.dll로 이동합니다.

그런 다음 uncomment extension=hpp.ini의 uncomment extension_h

$ch = curl_init('http://api.imgur.com/2/upload.xml'); //initialising our url

curl_setopt($ch, CURLOPT_MUTE, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);  //used for https headers 

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);  //used for https headers

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, urlencode($pvars));  
//the value we post

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //waiting for reponse, default value in php is zero ie, curls normally do not wait for a response

curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0'); 

$output = curl_exec($ch); //the real execution 
curl_close($ch);

echo $output;

이 코드를 사용해 보세요.나는 그것에 대해 확신이 없다.하지만 xml 데이터를 원격 URL로 전송하기 위해 사용했습니다.

언급URL : https://stackoverflow.com/questions/4396779/fatal-error-call-to-undefined-function-curl-init

반응형