cURL in combinatie met PHP 7.1 werkt niet

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
Beste Tweakers,

Momenteel ben ik bezig met een projectje in PHP 7.1 icm Symfony en cURL. Nu heb ik het probleem dat Symfony een UndefinedFunctionException geeft voor curl_init(). Waarschijnlijk is cURL dus niet geinstalleerd voor php7.1 of is het niet enabled. Het volgende heb ik geprobeerd:

- CURl installeren, sudo apt-get install php7.1-curl, krijg melding dat de nieuwste versie al geinstalleerd is
- De php.ini in apache2 en cli aangepst zodat extension=php_curl.dll niet meer uitgecomment is.

Wat zou ik verder nog kunnen proberen? Heb phpinfo() aangeroepen om de gegevens te printen en dat laat zien dat voor configuratie /etc/php/7.1/cli/php.ini ingelezen wordt, dat zou dus goed moeten zijn.

Als besturingssysteem heb ik Ubuntu 16.04 draaien.

Alle reacties


Acties:
  • 0 Henk 'm!

  • Arie-
  • Registratie: December 2008
  • Niet online
Apache opnieuw gestart?

Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

Ubuntu 16.04
Daar gaat iets mis.
Heb phpinfo() aangeroepen
En staat curl bij de geladen modules?

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
Ja, dat had helaas niet het gewenste effect.

Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
8088 schreef op vrijdag 7 juli 2017 @ 11:53:
[...]


[...]

Daar gaat iets mis.

[...]

En staat curl bij de geladen modules?
Nee (bij CTRL+F op phpinfo komt curl 1x voor bij credits)

Acties:
  • 0 Henk 'm!

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

php_curl.dll is voor windows. linux moet curl.so hebben.

Acties:
  • 0 Henk 'm!

  • Arie-
  • Registratie: December 2008
  • Niet online
Heb je de reactie van @8088 alleen gelezen, of ook begrepen? Hij hint op de extensie .dll en het besturingssysteem Linux.

Acties:
  • 0 Henk 'm!

  • Antrax
  • Registratie: April 2012
  • Laatst online: 10:10
whoopy_ schreef op vrijdag 7 juli 2017 @ 11:38:
Wat zou ik verder nog kunnen proberen? Heb phpinfo() aangeroepen om de gegevens te printen en dat laat zien dat voor configuratie /etc/php/7.1/cli/php.ini ingelezen wordt, dat zou dus goed moeten zijn.
Kun je je stacktrace even posten :)
emnich schreef op vrijdag 7 juli 2017 @ 13:50:
php_curl.dll is voor windows. linux moet curl.so hebben.
Je kunt met php 7.1 de extensie lijst in php.ini gewoon negeren. Die hoef je niet aan te passen. Door extensies zoals o.a. php7.1-curl te installeren worden deze in een aparte folder gestopt die geladen wordt door php :)

.Gertjan.: Ik ben een zelfstandige alcoholist, dus ik bepaal zelf wel wanneer ik aan het bier ga!


Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
Antrax schreef op vrijdag 7 juli 2017 @ 14:32:
[...]


Kun je je stacktrace even posten :)


[...]

Je kunt met php 7.1 de extensie lijst in php.ini gewoon negeren. Die hoef je niet aan te passen. Door extensies zoals o.a. php7.1-curl te installeren worden deze in een aparte folder gestopt die geladen wordt door php :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Symfony\Component\Debug\Exception\UndefinedFunctionException:
Attempted to call function "curl_init" from namespace "AppBundle\Controller".

  at src/AppBundle/Controller/MainController.php:23
  at AppBundle\Controller\MainController->getHeaders()
  at call_user_func_array(array(object(MainController), 'getHeaders'), array())
     (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:153)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:171)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (web/app_dev.php:29)
  at require('/var/www/html/webCrawler/web/app_dev.php')
     (vendor/symfony/symfony/src/Symfony/Bundle/WebServerBundle/Resources/router.php:42)

Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
Arie- schreef op vrijdag 7 juli 2017 @ 13:50:
Heb je de reactie van @8088 alleen gelezen, of ook begrepen? Hij hint op de extensie .dll en het besturingssysteem Linux.
Dat is wel vreemd dan toch? Ik heb via apt-get install curl geinstalleed.

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
whoopy_ schreef op vrijdag 7 juli 2017 @ 16:54:
Ik heb via apt-get install curl geinstalleed.
Heel goed!
Kan je nu met apt-get de php7.1-curl installeren (of hoe de package ook maar mag heten in jouw repo)

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
DJMaze schreef op vrijdag 7 juli 2017 @ 17:30:
[...]

Heel goed!
Kan je nu met apt-get de php7.1-curl installeren (of hoe de package ook maar mag heten in jouw repo)
Yes, ook dit heb ik gedaan. Krijg dan de melding:

code:
1
php7.1-curl is already the newest version (7.1.7-1~ubuntu16.04.1+deb.sury.org+1)

Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

Wat is de output van
apt-cache policy php7.1-curl

en
find /usr/lib/php -name curl.so

en
PHP:
1
var_dump(function_exists('curl_version'));


Wat je ook nog kunt proberen (normaal gesproken doet apt-get install dit al voor je):
phpenmod curl

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

doe dan ook nog even de output van
code:
1
grep -i curl /etc/php/7.1/cli/php.ini

en
code:
1
php -i | grep -i curl

Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
8088 schreef op vrijdag 7 juli 2017 @ 17:48:
Wat is de output van
code:
1
apt-cache policy php7.1-curl


code:
1
2
3
4
5
6
Installed: 7.1.7-1~ubuntu16.04.1+deb.sury.org+1
  Candidate: 7.1.7-1~ubuntu16.04.1+deb.sury.org+1
  Version table:
 *** 7.1.7-1~ubuntu16.04.1+deb.sury.org+1 500
        500 http://ppa.launchpad.net/ondrej/php/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status


en
code:
1
find /usr/lib/php -name curl.so


code:
1
/usr/lib/php/20160303/curl.so

en
PHP:
1
var_dump(function_exists('curl_version'));


code:
1
2
php7.1 test.php 
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/php_curl.dll' - /usr/lib/php/20160303/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0


Wat je ook nog kunt proberen (normaal gesproken doet apt-get install dit al voor je):
code:
1
phpenmod curl
code:
1
2
3
4
sudo phpenmod curl
[sudo] password for *****: 
WARNING: Module curl ini file doesn't exist under /etc/php/5.6/mods-available
WARNING: Module curl ini file doesn't exist under /etc/php/5.6/mods-available


Mmm, gek dat hij alleen voor php 5.6 kijkt?

Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
emnich schreef op vrijdag 7 juli 2017 @ 17:59:
doe dan ook nog even de output van
code:
1
grep -i curl /etc/php/7.1/cli/php.ini


code:
1
2
3
4
extension=php_curl.dll
[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
;curl.cainfo =

en
code:
1
php -i | grep -i curl


code:
1
2
3
4
5
6
php7.1 -i | grep -i curl
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/php_curl.dll' - /usr/lib/php/20160303/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0
/etc/php/7.1/cli/conf.d/20-curl.ini,
curl
cURL support => enabled
cURL Information => 7.47.0
Er lijkt hier iets van php 5.4 en php 7.1 door elkaar heen te zitten?

Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

En 5.6. En een .dll die daar niets te zoeken heeft.

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • emnich
  • Registratie: November 2012
  • Niet online

emnich

kom je hier vaker?

en
code:
1
cat /etc/php/7.1/cli/conf.d/20-curl.ini

Hier moet dit in staan
code:
1
extension=curl.so

Ik kan niets in de changelogs vinden dat dit niet meer nodig zou zijn voor 7.1

En haal in elk geval die curl.dll weg in php.ini.

oh, en doe ook eens
code:
1
php -r 'curl_init();'

Uit je vorige post lijkt het wel of voor cli curl wél actief is.

Acties:
  • 0 Henk 'm!

  • Crazy-
  • Registratie: Januari 2002
  • Laatst online: 08-10 18:31

Crazy-

Best life ever

Doe eens in je CLI: php -v

Welke versie geeft ie aan? Ofwel is je CLI versie gelijk aan je Apache versie?

12,85kWp - ZB 7,5m2/400l - 5kW Pana H WP (CV&SWW) - 13,8kWh accu


Acties:
  • 0 Henk 'm!

  • wheez50
  • Registratie: Oktober 2003
  • Laatst online: 08-10 19:00
'extension=php_curl.dll' in php.ini veranderen in curl.so :)

Acties:
  • 0 Henk 'm!

  • whoopy_
  • Registratie: November 2010
  • Laatst online: 08:13
Excuses voor de late reactie, ik ben op vakantie geweest :)

Ben bezig geweest het specifiek voor PHP 5.6 te installeren wat resulteerde in het volgende:
code:
1
2
~ php5.6 -r 'curl_init()';
PHP Warning:  Module 'curl' already loaded in Unknown on line 0


Het lijkt er dus op dat curl_init wel geïnstalleerd is voor php5.6? Heb Symfony gestart met php5.6 en wanneer ik phpinfo echo lijk ik ook het juiste resultaat te krijgen:

code:
1
PHP Version 5.6.31-1~ubuntu16.04.1+deb.sury.org+1


Heb het advies van wheez50 ook opgevolgd maar helaas mocht dat ook niet baten.

Iemand nog een idee? Ik heb zo'n vaag vermoeden dat het komt door Symfony?

EDIT: Heb dezelfde stappen gevolgd voor php7.1 en het werkt nu. Ga proberen te achterhalen wat precies het probleem was en zal dat dan hier terugkoppelen :)

[ Voor 17% gewijzigd door whoopy_ op 16-07-2017 20:10 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Gebruik je geen namespace en indien wel dan use curl_...
Pagina: 1