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

Re: How to enable cURL php extension in Apache2?



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?

-- 
Regards from Pal


Reply to: