Re: Google Merchant Center Feeder for ZC v1.5.x
It just means that your account is not allocated enough memory on the server you're on. Either upgrade to a better server or try using the compress feed configuration option. And if compressing still doesn't work and you can't/don't want to get a better server, you will likely have to select the configuration option to start and stop the feed at a certain number. So start at 0 and stop at 2000, then redo it for 2001 to 4000. Or whatever number you need to be able to get it to not time out. I use the commercial version so I am not sure what settings are/aren't available in the free one, so my suggestions might be moot.
Re: Google Merchant Center Feeder for ZC v1.5.x
Quote:
Originally Posted by
YarnCharm
I just recently upgraded to 1.5.5e fresh install and added Merchant Center Feeder 1.14.5.
I immediately encountered a problem with Google reporting the following two errors:
"Unsupported currency in attribute: price" and "Missing required attribute: price"
On inspection of the xml output file, I found the following elements (as example) in each item:
Code:
<g:price>8.80</g:price>
<g:currency>USD</g:currency>
Then checking Google's help on the product data attributes for price:
https://support.google.com/merchants/answer/6324371
I came to the conclusion that it looks like for xml, that the currency should really be included within the price attribute.
I made the following changes to resolve it at line 380 and line 431 in googlefroogle.php :
line 380 changed from:
PHP Code:
$item->appendChild($dom->createElement('g:price', number_format($variants_price, 2, '.', '')));
to:
PHP Code:
$item->appendChild($dom->createElement('g:price', number_format($variants_price, 2, '.', '') . ' ' . GOOGLE_PRODUCTS_CURRENCY));
and
line 431 change from
PHP Code:
$shipping->appendChild($dom->createElement('g:price', (float)$shipping_rate));
to:
PHP Code:
$shipping->appendChild($dom->createElement('g:price', (float)$shipping_rate . ' ' . GOOGLE_PRODUCTS_CURRENCY));
And I made changes similarly at lines 302 and 350 in google_base.php.
I also ended up setting "Show Default Currency" to false in the Google Merchant Center Feed configuration to turn off the <g:currency> field that doesn't seem to be parsing anyway (but it also eliminated the ¤cy=USD from the URL which is unnecessary on our site, that may not be the case for others.)
In case anyone ran into the same thing, that seems to have taken care of the issue for me.
that is very curious and interesting.... at least to me... when i look at a clients feed here:
https://lawineco.com/feed/lawc_products_en.xml
i have the price and currency set to separate fields and google does not complain about it.
the link that you provided certainly would indicate to add the currency into the price element. i have my clients feed set to US Dollar, however i did not see a setting for "Show Default Currency".
best.
Re: Google Merchant Center Feeder for ZC v1.5.x
Re: Google Merchant Center Feeder for ZC v1.5.x
Quote:
Originally Posted by
Amethyst_fairy
Unfortunately still having trouble getting a feed. Have tried to inc memory etc. [26-Jul-2017 14:14:13
America/Chicago] PHP Fatal error: Uncaught TypeError: Argument 1 passed to DOMNode::appendChild() must be an instance of DOMNode, boolean given in /home1/thedrah1/public_html/includes/classes/google_base.php:389
Have you made any modifications to google_base.php? Assuming you're on 1.14.5 of the merchant feeder plug-in, that first line looks like an argument problem coming from a calculated expiration date function that really shouldn't have too much of a problem? What version zen cart and google merchant center are you on?
Re: Google Merchant Center Feeder for ZC v1.5.x
Quote:
Originally Posted by
carlwhat
i have the price and currency set to separate fields and google does not complain about it.
the link that you provided certainly would indicate to add the currency into the price element. i have my clients feed set to US Dollar, however i did not see a setting for "Show Default Currency".
That is really interesting, and I'm not sure why merchant product feed wouldn't take the separate fields in mine but yours still works.
I did notice when setting up this new account, that it mentioned something about new accounts getting the "new Product feed experience" as of July 24th or something similar to that. So it could be a change rolled out only for new accounts so far, so it is possible changes might be coming for older accounts.
Also, in case you are still looking for it, the setting for "Show Default Curency" is in the Admin control panel under "Configuration" then "Google Merchant Center Feeder Configuration". I set mine to false once I added the currency to the price field.
Cheers.
Re: Google Merchant Center Feeder for ZC v1.5.x
Hi,
I don't think made any changes to google base. The only changes have made to files have been the preg_split and changed to explode. It worked when decreased number of products. Unsure after this error if I did a clean install of the feeder I may have. Just ran to see here is my errir log.
[30-Jul-2017 06:58:54 America/Chicago] Request URI: /googlefroogle.php?feed=fy_un_tp&limit=&offset=&x=48&y=8&key=1ea3bb8da8, IP address: 24.34.85.238
#1 trigger_error() called at [/home1/thedrah1/public_html/includes/classes/db/mysql/query_factory.php:167]
#2 queryFactory->show_error() called at [/home1/thedrah1/public_html/includes/classes/db/mysql/query_factory.php:139]
#3 queryFactory->set_error() called at [/home1/thedrah1/public_html/includes/classes/db/mysql/query_factory.php:266]
#4 queryFactory->Execute() called at [/home1/thedrah1/public_html/includes/classes/google_base.php:799]
#5 google_base->google_get_products_special_price() called at [/home1/thedrah1/public_html/includes/classes/google_base.php:730]
#6 google_base->google_get_products_actual_price() called at [/home1/thedrah1/public_html/googlefroogle.php:187]
[30-Jul-2017 06:58:54 America/Chicago] PHP Fatal error: 2008:MySQL client ran out of memory :: select specials_new_products_price from zen_specials where products_id = '23416' and status='1' ==> (as called by) /home1/thedrah1/public_html/includes/classes/google_base.php on line 799 <== in /home1/thedrah1/public_html/includes/classes/db/mysql/query_factory.php on line 167
[30-Jul-2017 06:58:54 America/Chicago] PHP Fatal error: 2013:Lost connection to MySQL server during query :: select count(*) as total
from zen_sessions
where sesskey = '630nsedq5p3l2mllnn02dk9uj4' ==> (as called by) /home1/thedrah1/public_html/includes/functions/sessions.php on line 66 <== in /home1/thedrah1/public_html/includes/classes/db/mysql/query_factory.php on line 167
On version 1.55e. Too many plug ins to count.
Thanks
Sandria
Re: Google Merchant Center Feeder for ZC v1.5.x
Quote:
Originally Posted by
Amethyst_fairy
It worked when decreased number of products.
Then it probably is back to a memory limit of some sort.
I think you said you increased the Memory Limit from 128M to 256M (under Configuration...Google Merchant Center Feeder Configuration...Memory Limit). Did that let you increase the number of products, i.e. did you test how many products you could get through at 128M and then at 256M? Did it make a difference at all?
It may also due to host limitations. If you look under Tools...Server Information, what is your PHP Memory Limit?
Here's an example of mine:
Server Information
Server Host: xxx.xxxxxhost.com (xxx.xxx.xxx.xxx) Server OS: Linux 2.6.32-696.299.3.2.cp6.x86_64
Server Date: 07/30/2017 13:22:30 Server Up Time: 13:22:30 up 38 days, 10:27, 0 users, load average: 2.35, 2.65, 2.71
HTTP Server: Apache PHP Version: 5.6.30 (Zend: 2.6.0)
PHP File Uploads: On Upload Max Size: 64M
PHP Memory Limit: 160M POST Max Size: 64M
Database: MySQL 5.5.55-cll Database Host: localhost (127.0.0.1)
Database Date: 07/30/2017 13:22:30 Database Data Size: 48,274 kB
Database Index Size: 10,354 kB MySQL Slow Query Log Status: On
MySQL Slow Query Log File: /var/lib/mysql/xxxx-slow.log MySQL Mode: (None set)
Re: Google Merchant Center Feeder for ZC v1.5.x
I installed new update just to be safe still same problem. Have inc memory in both php configuration and google merchant configuration. Actually inc to 512M. The most O get extra is a couple hundred products with each. Even tried turning on jss/css minfy as someone recommended earlier in forum but at most couple 100.
Thanks
Sandria
Server Information
Server Host: Server OS: Linux 3.12.74-20170619.148.ELK6.x86_64 Server Date: 08/03/2017 06:05:17 Server Up Time: 06:05:17 up 42 days, 6:09, 1 user, load average: 5.93, 4.70, 4.99HTTP Server: ApachePHP Version: 7.0.12 (Zend: 3.0.0)PHP File Uploads: OnUpload Max Size: 64MPHP Memory Limit: 512MPOST Max Size: 64MDatabase: MySQL 5.6.32-78.1-logDatabase Host: localhost (127.0.0.1)Database Date: 08/03/2017 06:05:17Database Data Size: 24,529 kBDatabase Index Size: 5,513 kBMySQL Slow Query Log Status: OnMySQL Slow Query Log File: /var/log/slow-queries.logMySQL Mode: NO_ENGINE_SUBSTITUTION
Re: Google Merchant Center Feeder for ZC v1.5.x
The error says "MySQL client ran out of memory". Not "PHP ran out". Changing PHP memory limits probably isn't going to help that. May need to optimize the SQL query to avoid wasting MySQL memory.
Re: Google Merchant Center Feeder for ZC v1.5.x
Quote:
Originally Posted by
Amethyst_fairy
...but at most couple 100.
I can pull over 3000 products in the feed and haven't reached any memory limits of any sort yet. DrByte also has a big point there about it being a MySQL limit getting reached in this case, not reaching a PHP memory limit.
I suspect there's something else seriously amiss here - glancing back it seems like each of the error logs you've posted shows it breaking at different points. If you've checked your database for corruption, then maybe the next step I'd suggest is doing some testing in a clean copy of your same version of zen cart and google merchant feeder in a test environment somewhere else on your same server, with a clean test database, and then import some of your products, attributes, etc from your live database to test with. If it can generate a feed from a clean starting point, then start incorporating all those plug-ins that you had said are too many to list, and see when it breaks in your test environment. Good luck!