[Flow] Guzzle - TYPO3 Flow File Location (SOLVED)

Mark Kuiphuis mark at capesso.com.au
Sun May 10 03:25:56 CEST 2015


As mentioned previously, the Guzzle files were still created in the 
Flow_Object_Classes cache folder on Linux (not on OSX Yosemite 
anymore)...which led me to think that it could have something to do with 
the case sensitive file system (Linux) and the non-case sensitive file 
system (OSX). I therefore changed the Settings.yaml snippet to:

TYPO3:
   Flow:
     object:
       excludeClasses:
         'Omnipay.Common': ['.*']
         'Guzzle.*': ['.*']
         'guzzle.*': ['.*']

and now no single file from the Guzzle Library is created in the 
Flow_Object_Classes folder during a cache warmup. This also means that 
when looking for the CA Certificate file, it will now look in the 
Resources folder inside the Libraries folder...

Regards, Mark Kuiphuis

On 9/05/2015 5:58 pm, Mark Kuiphuis wrote:
> Strangely enough, fixing 1 yaml spacing indent (the last 2 lines only
> indented with 1 space instead of 2) caused the problem to disappear on
> OSX (Yosemite).
> However, on Debian Wheezy the problem still remains, even after this fix...
>
> If I look at the exluded classes from TYPO3 Flow (Doctrine.*,
> doctrine.*, symfony.* etc. etc.) These files are not generated during a
> warmup in Data/Temporary/Development/Cache/Code/Flow_Object_Classes/ and
> while it seems that Omnipay.Common classes are also not created in this
> folder, the Guzzle.Http classes are still being generated...
>
> Does it matter in which package this Settings.yaml snippet is stored? Or
> is the order of the packages loaded (PackageStates.php) important?
>
> Regards, Mark
>
> On 9/05/2015 3:29 pm, Mark Kuiphuis wrote:
>> Hi all,
>>
>> Previously I have built functionality to link a site to the online
>> payment gateway Eway. For this I have used the OmniPay/Eway package from
>> packagist.org
>>
>> Everything was working, but it looks like Guzzle, which is used by the
>> OmniPay/Common package is looking for a cacert.pem file in the following
>> folder:
>>
>> /path/to/releases/20150430145951/Data/Temporary/Development/Cache/Code/Flow_Object_Classes/Resources/cacert.pem
>>
>>
>>
>> I'm using TYPO3.Surf for deploying new versions, so I cannot simply
>> change the function (which I think is the problem) in the Guzzle package
>> as upon every deployment it will grab the guzzle version from either the
>> composer cache or it will download a new version from github.
>>
>> I believe the line in
>> /Packages/Libraries/guzzle/guzzle/src/Guzzle/Http/Client.php (line 140)
>> is causing the problem....
>>
>> $opts[CURLOPT_CAINFO] = __DIR__ . '/Resources/cacert.pem';
>>
>> Is there a way (Settings.yaml) perhaps where we can say that a package
>> in the Libraries folder should not look in the Flow Cache Folder, but
>> instead in it's own folder?
>>
>> Or perhaps (as a last resort?) disable lookup of the cacert.pem file
>> altogether?
>>
>> I have already used the code below in Settings.yaml but unfortunately
>> without success :(
>>
>> TYPO3:
>>    Flow:
>>      object:
>>        excludeClasses:
>>          'Omnipay.Common': ['.*']
>>          'Guzzle.Http': ['.*']
>>
>> Thanks,
>>
>> Mark Kuiphuis
>



More information about the Flow mailing list