[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to enable cURL php extension in Apache2?



On 6/2/2013 11:50 AM, Csanyi Pal wrote:
Jerry Stuckle <jstuckle@attglobal.net> writes:

On 6/2/2013 10:13 AM, Csanyi Pal wrote:
Jerry Stuckle <jstuckle@attglobal.net> writes:

On 6/2/2013 1:22 AM, Csanyi Pal wrote:
Jerry Stuckle <jstuckle@attglobal.net> writes:

On 6/1/2013 6:10 PM, Csanyi Pal wrote:
Jerry Stuckle <jstuckle@attglobal.net> writes:

On 6/1/2013 5:44 PM, Csanyi Pal wrote:
Jerry Stuckle <jstuckle@attglobal.net> writes:

On 6/1/2013 4:34 PM, Csanyi Pal wrote:
Csanyi Pal <csanyipal@gmail.com> writes:

Jerry Stuckle <jstuckle@attglobal.net> writes:

On 6/1/2013 3:21 PM, Csanyi Pal wrote:
Csanyi Pal <csanyipal@gmail.com> writes:

Hi,

I just upgraded Squeeze to Wheezy, and have difficulties with
cURL PHP extension: I can't enable it.

I have installed following packages related to this issue:
curl, libcurl3, libcurl3-gnutls, php5-curl.

I know that cURL extension is not enabled because I want to
install Moodle and it complains about cURL extension.

How can I solve this problem?

I have in
/etc/php5/mods-available/curl.ini
; configuration for php CURL module
; priority=20
extension=curl.so

Still doesn't work cURL. Why?


What do you have in /etc/php5/mods-enabled?

I even haven't the /etc/php5/mods-enabled/ directory.

Instead, I have this symbolic link:
/etc/php5/conf.d/@20-curl.ini

that pointing to the:
-> ../mods-available/curl.ini


Sorry - you're right.  Got that mixed up with the Apache mods.

cURL *should* be installed then.

Yes, I think so too.

$ aptitude search php5-curl
i   php5-curl - CURL module for php5

I've never worked with Moodle, but a quick glance indicates it's a
web application running under Apache.  After installing the cURL
extensions, you did restart Apache, correct?

Yes, I restarted Apache2 with '/etc/init.d/apache2 restart'
command.
You can prove if cURL is installed under the Apache version of PHP
(not the same as the CLI version) with a simple page containing
only:
How could I know whether I have the Apache version of PHP
installed?
$ aptitude show php5-curl
Package: php5-curl
New: yes
State: installed
Automatically installed: no
Version: 5.4.4-14
Priority: optional
Section: php
Maintainer: Debian PHP Maintainers
<pkg-php-maint@lists.alioth.debian.org>
Architecture: powerpc
Uncompressed Size: 115 k
Depends: libc6 (>= 2.4), libcurl3 (>= 7.16.2), phpapi-20100525+lfs,
php5-common (= 5.4.4-14),
              ucf
PreDepends: dpkg (>= 1.15.7.2~)
Description: CURL module for php5
      CURL is a library for getting files from  FTP, GOPHER, HTTP
server.
      PHP (recursive acronym for PHP: Hypertext Preprocessor) is a
      widely-used open source
      general-purpose scripting language that is especially suited for
web development and can be embedded into HTML.
Homepage: http://www.php.net/

<?php phpinfo(); ?>

This will show all extensions loaded.  If cURL is listed, then you
should follow up with Moodle (incorrect test for cURL?).

I created the file info.php with the abowe mentioned content, and
try it out, but curl extension isn't listed there.

If it is not listed, we need to follow up more - what does it say
the config file you're using is?

Which config file do you think about?


Look at the output of your phpinfo() function - what does it show as
"Loaded configuration file"?  What about the next two boxes ("Scan
this dir for additional .ini files" and "Additional .ini files
parsed"?

Loaded Configuration File:
     /etc/php5/apache2/php.ini

Scan this dir for additional .ini files:
     /etc/php5/apache2/conf.d

Additional .ini files parsed:
/etc/php5/apache2/conf.d/gd.ini, /etc/php5/apache2/conf.d/intl.ini,
/etc/php5/apache2/conf.d/mcrypt.ini,
/etc/php5/apache2/conf.d/mysql.ini,
/etc/php5/apache2/conf.d/mysqli.ini,
/etc/php5/apache2/conf.d/pdo.ini,
/etc/php5/apache2/conf.d/pdo_mysql.ini,
/etc/php5/apache2/conf.d/xcache.ini

So I don't see the content of the /etc/php5/conf.d/ directory here,
with files as: @10-pdo.ini, @20-curl.ini, ..., @20-xmlrpc.ini.

For Moodle installation both curl and xmlrpc are needed.


Hmmm, looks like it didn't install the symlink for cURL in
/etc/php5/apache2/conf.d.  It should be linked to
../mods-available/curl.ini.

Not sure why this didn't happen - it should have been built as a part
of the cURL installation.

I agree with that, it should have been built as a part of the cURL
installation. Shall I fill a debian bugreport for this?


(Sorry, meant the first message to go to the list then sent it instead
of cancelling it).

I don't think it's a bug - it created the symlink just fine on my test
system.  Did you install cURL after Apache and PHP?

I installed cURL after Apache and PHP.

Can I manually create the symlink?

Sure, you can create any symlink.

You could try purging the curl package than installing it again to see
if it adds the sysmlink.  Or you can just use ln to create the link.

I just created symlink and restarted apache2. It works now.

Now, I tried out purging php5-curl debian package and install it again
to see whether get I the symlink automatically?

So, I have installed apache2 and php5, and purged php5-curl.

When install again php5-curl, I get symlink just in the
/etc/php5/conf.d/ but not in the /etc/php5/apache2/conf.d/ and so
apache2 doesn't know about cURL module.

I must to create symlink manually in /etc/php5/apache2/conf.d/ to point
to the /etc/php5/conf.d/20-curl.ini.

Is the situation same, there on your system?


Actually, looking more closely at the directory structure, my
/etc/php5/apache2/conf.d is just a symlink to /etc/php5/conf.d.  The
fact yours is not seems to be a problem.

Aha, then this cause the problem: my Wheezy system is an upgraded
Squeeze system, and the configuration directories and files remains from
the Squeeze system.

What can I do to readjust the configuration directories and files? It
seems to me that that I should purge and reinstall apache2, php5 and
php5-curl, right?


My squeeze system (which has not been upgraded yet) shows it to be a symlink also (but that was an update also - not a new install). I'm not sure why yours has changed.

You could purge and reinstall everything; probably php and the extensions you're using should be enough. I wouldn't think you'd have to reinstall (and reconfigure) Apache.


Reply to: