Files larger than 1Gb don’t fully download?
-
I have an existing site running from Joomla on the same server using the exact same files and have never had an issue, 10 years it has served files to customers from the web host server and not a single issue in all that time other than a few reports of slow downloads but never a failed download.
I have just spent a few months now setting up a new WP based Woo Commerce solution which I tested with smaller files, no issues but I have just tested a large 3GB zip file download and find that it “completes” at about 1.2GB. Doesn’t fail, just ends and is of course not able to be opened.
I understand there are server limitations etc and the suggestions are to look at other hosting options, however I cannot understand why it will work via Joomla and a simple $20 plugin but not using Woo Commerce. I have tried the force download and Xcelerate method, both seem to behave in the exact same way.
What should I look into to try and address this issue?
-
Is there anyone that may have some ideas with this issue?
I have increased everything in my php.ini and I have contacted my host who says everything appears fine and the issue must be in the plugin.
I cannot figure out why downloads simply stop at 1.2GB
EDIT: Seems the downloads don’t specifically stop at 1.2GB as I have managed to get to 1.6GB but still, downloads constantly just fail either with a half downloaded file or a “Network Error”.
This is not a firewall issue or something local. I have another site (Joomla) on the same web server with the same files and that has no issues delivering the same file but seems Woo Commerce has issues with any file over 1GB-
This reply was modified 3 months ago by
Jason.
The issue is a timeout of some kind but no idea why.
Running a timed test, downloads fail exactly at the 300 second (5 min) mark regardless of file size. Seems it would be a server side issue but Level 1 support says there is no issue their end. I have the case escalated but this is a worry if I cannot resolve this
I have increased settings as far as I would like in php.ini but nothing makes any difference at all so the issue is not something I can address
max_execution_time = 1200
max_input_time = 1200
max_input_vars = 3300
memory_limit = 2048M
post_max_size = 3000M
session.gc_maxlifetime = 1440
session.save_path = “/var/cpanel/php/sessions/ea-php74”
upload_max_filesize = 4096M
zlib.output_compression = OnHi there!
I understand your concern about the issue with downloading files larger than 1.5GB. To assist you better, could you please provide more details about which file download method you are using in the WooCommerce settings for downloadable files?
Additionally, could you try setting the file download method to Redirect Only and see if that resolves the issue? I noticed that another user experiencing a similar problem was able to fix it by switching to the Redirect Only method.
You can access that setting by Navigating to?WooCommerce > Settings > Products > Downloadable Products.
For more details you can use this article. https://woocommerce.com/document/digital-downloadable-product-handling/#setup-and-configurationIf that doesn’t help and since you mentioned downloads fail exactly at the 300-second (5-minute) mark, it might indicate a connection timeout limit enforced by the server. Even though you’ve adjusted the
max_execution_time
and other PHP settings, I recommend confirming with your hosting provider if there are server-level timeout restrictions in place.Additionally, I’d like to understand your site properly, please share your System Status Report that you can find via
WooCommerce > Status
. SelectGet system report
and thenCopy for support
. Once you’ve done that, you can paste it into your reply here.If you could also provide the fatal error logs (if any) under
WooCommerce > Status > Logs
.Thanks!
Thanks for the reply
The webhost has said there are no imposed limits although I am not confident in that assessment, given the absolute limitation of exactly 300 seconds it is being caused by something that is causing the process to stop.
The “Redirect Only” method is no good for my case, it exposes the download location for one but second, it tries to resolve the download location from the base web address and my files for security are stored at the servers root level so this option will fail.
As I understand how the “Force Download” method work from my research and looking into code, the file is not directly served to the browser from the server but rather “delivered” via a process using 1MB chunks, basically a middle man that sits and hands the file piece by piece to the web browser so it only knows of a process and not a location. This would be why downloading a file I never see a file size and download time estimate in the browser, only an unknown file size. While this is secure it has the tradeoff of a CPU thread having to remain running on the server to deliver the file and I believe this is the cause.
On my Joomla site the cart/download system would generate a temporary symlink file with a hashed string concatenated to the filename to make a unique file link which would then be disabled after a period to maintain a secure file path. This is why my Joomla site does not have this issue as the download process does not require a server CPU cycle to remain active to deliver the file. Just a shame this kind of method is not an option.
Below is my environment status, you will see I have already increased (excessively) the execution time and memory limits, tho I have no idea if a host imposed limit overwrites this (suspect being a shared server it does) but changing any of these options has no affect.
There is no fatal log or any logs other that this line from a test (I have obfuscated the file path) :
2024-11-27T08:03:19+00:00Warning /home3/……/NKS_Library_Nexus4FullExpansionBundle_VST3_Full.zip could not be served using the X-Accel-Redirect/X-Sendfile method. A Force Download will be used instead.
This simply suggests that XAccel is not available on my server, host has not answered that request and basically suggests it is the plugin because they can download files fine via FTP which is obviously fine and indicated their support has no clue of the issue I am trying to highlight as files are not being transferred via FTP.
My solution has been to just throw money at the problem, what I am finding is basically the solution to everything in wordpress, and switch to AWS S3 hosting. While this has obvious benefits it adds even more yearly cost and of course like developers in this day will do, the associated plugin has basically doubled in price in the last year, much to the disgust of users but hopefully this will give me time to implement a more cost effective solution and updating the product links is a quick and easy process, I just have to re-upload 200GB of data to an AWS server and pay for bandwidth now.
So my issue is not “fixed” I have simply had to work around it to continue development and it has made me question my decision to switch from Joomla to WP for this project given already it has cost me easily 40x more to develop the exact same thing I already have working on Joomla 3 from 12 years ago. If this was 1 time payments that would be fine but of course everyone wants to be paid constantly, every year for providing the most basic of features.
WordPress Environment<br><br>WordPress address (URL): https://freelancesoundlabs.com/WP<br>Site address (URL): https://freelancesoundlabs.com/WP<br>WC Version: 9.4.2<br>Legacy REST API Package Version: The Legacy REST API plugin is not installed on this site.<br>Action Scheduler Version: ? 3.8.2<br>Log Directory Writable: ?<br>WP Version: 6.7.1<br>WP Multisite: –<br>WP Memory Limit: 2 GB<br>WP Debug Mode: –<br>WP Cron: ?<br>Language: en_US<br>External object cache: – Server Environment<br><br>Server Info: Apache<br>PHP Version: 7.4.33<br>PHP Post Max Size: 3 GB<br>PHP Time Limit: 1200<br>PHP Max Input Vars: 3300<br>cURL Version: 8.7.1<br>OpenSSL/1.1.1w<br><br>SUHOSIN Installed: –<br>MySQL Version: 5.7.23-23<br>Max Upload Size: 3 GB<br>Default Timezone is UTC: ?<br>fsockopen/cURL: ?<br>SoapClient: ?<br>DOMDocument: ?<br>GZip: ?<br>Multibyte String: ?<br>Remote Post: ?<br>Remote Get: ? Database<br><br>WC Database Version: 9.4.2<br>WC Database Prefix: wpji_<br>Total Database Size: 41.64MB<br>Database Data Size: 34.07MB<br>Database Index Size: 7.57MB<br>wpji_woocommerce_sessions: Data: 0.05MB + Index: 0.02MB + Engine InnoDB<br>wpji_woocommerce_api_keys: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_woocommerce_attribute_taxonomies: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_woocommerce_downloadable_product_permissions: Data: 0.14MB + Index: 0.27MB + Engine InnoDB<br>wpji_woocommerce_order_items: Data: 0.09MB + Index: 0.02MB + Engine InnoDB<br>wpji_woocommerce_order_itemmeta: Data: 0.38MB + Index: 0.47MB + Engine InnoDB<br>wpji_woocommerce_tax_rates: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>wpji_woocommerce_tax_rate_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_woocommerce_shipping_zones: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_woocommerce_shipping_zone_locations: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_woocommerce_shipping_zone_methods: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_woocommerce_payment_tokens: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_woocommerce_payment_tokenmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_woocommerce_log: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_actionscheduler_actions: Data: 0.11MB + Index: 0.14MB + Engine InnoDB<br>wpji_actionscheduler_claims: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_actionscheduler_groups: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_actionscheduler_logs: Data: 0.06MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_action: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_automation: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_campaign: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_condition: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_configuration: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_custom_zone: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_field: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_followup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_followup_has_mail: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_form: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_history: Data: 0.05MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_list: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_mail: Data: 0.16MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_mailbox_action: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_mail_archive: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_mail_has_list: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_mail_override: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_mail_stat: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_plugin: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_queue: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_rule: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_segment: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_step: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_tag: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_url: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_acym_url_click: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_acym_user: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_user_has_field: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_acym_user_has_list: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>wpji_acym_user_stat: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_ce4wp_abandoned_checkout: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_ce4wp_contacts: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_commentmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_comments: Data: 0.02MB + Index: 0.09MB + Engine InnoDB<br>wpji_e_events: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_e_notes: Data: 0.02MB + Index: 0.17MB + Engine InnoDB<br>wpji_e_notes_users_relations: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_e_submissions: Data: 0.02MB + Index: 0.27MB + Engine InnoDB<br>wpji_e_submissions_actions_log: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_e_submissions_values: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_jetpack_sync_queue: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>wpji_links: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_options: Data: 10.11MB + Index: 0.20MB + Engine InnoDB<br>wpji_postmeta: Data: 9.11MB + Index: 2.80MB + Engine InnoDB<br>wpji_posts: Data: 11.17MB + Index: 0.47MB + Engine InnoDB<br>wpji_pum_subscribers: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>wpji_realmedialibrary: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_realmedialibrary_meta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_realmedialibrary_posts: Data: 0.05MB + Index: 0.02MB + Engine InnoDB<br>wpji_realmedialibrary_tmp: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_redirects: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_sdm_downloads: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_snippets: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_social_users: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_termmeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_terms: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_term_relationships: Data: 0.05MB + Index: 0.02MB + Engine InnoDB<br>wpji_term_taxonomy: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_usermeta: Data: 0.14MB + Index: 0.03MB + Engine InnoDB<br>wpji_users: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>wpji_wcpdf_invoice_number: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wcpdf_packing_slip_number: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wcu_modules: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wcu_modules_type: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wcu_usage_stat: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wc_admin_notes: Data: 0.06MB + Index: 0.00MB + Engine InnoDB<br>wpji_wc_admin_note_actions: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wc_category_lookup: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wc_customer_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_wc_download_log: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_wc_orders: Data: 0.02MB + Index: 0.11MB + Engine InnoDB<br>wpji_wc_orders_meta: Data: 0.05MB + Index: 0.03MB + Engine InnoDB<br>wpji_wc_order_addresses: Data: 0.02MB + Index: 0.06MB + Engine InnoDB<br>wpji_wc_order_coupon_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_wc_order_operational_data: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_wc_order_product_lookup: Data: 0.11MB + Index: 0.06MB + Engine InnoDB<br>wpji_wc_order_stats: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>wpji_wc_order_tax_lookup: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_wc_product_attributes_lookup: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wc_product_download_directories: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wc_product_meta_lookup: Data: 0.09MB + Index: 0.17MB + Engine InnoDB<br>wpji_wc_rate_limits: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wc_reserved_stock: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wc_tax_rate_classes: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wc_webhooks: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_wdr_collections: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wdr_order_discounts: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wdr_order_item_discounts: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>wpji_wdr_rules: Data: 0.05MB + Index: 0.00MB + Engine InnoDB<br>wpji_wdr_rule_collections: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wpforms_logs: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_wpforms_payments: Data: 0.02MB + Index: 0.14MB + Engine InnoDB<br>wpji_wpforms_payment_meta: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>wpji_wpforms_tasks_meta: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_yith_shippo_shipping_parcel_boxes: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_yith_shippo_shipping_rulemeta: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_yith_shippo_shipping_rules: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_yith_shippo_shipping_tracking: Data: 0.02MB + Index: 0.00MB + Engine InnoDB<br>wpji_yoast_indexable: Data: 0.02MB + Index: 0.09MB + Engine InnoDB<br>wpji_yoast_indexable_hierarchy: Data: 0.02MB + Index: 0.05MB + Engine InnoDB<br>wpji_yoast_migrations: Data: 0.02MB + Index: 0.02MB + Engine InnoDB<br>wpji_yoast_primary_term: Data: 0.02MB + Index: 0.03MB + Engine InnoDB<br>wpji_yoast_seo_links: Data: 0.02MB + Index: 0.03MB + Engine InnoDB Post Type Counts<br><br>attachment: 786<br>custom_css: 1<br>customize_changeset: 97<br>elementor_library: 16<br>feedback: 1<br>nav_menu_item: 41<br>oembed_cache: 1<br>page: 19<br>popup: 3<br>popup_theme: 8<br>post: 10<br>product: 223<br>product_variation: 764<br>revision: 892<br>sdm_downloads: 221<br>shop_coupon: 1<br>shop_order: 14<br>wp_font_face: 33<br>wp_font_family: 12<br>wp_global_styles: 14<br>wp_navigation: 3<br>wp_template: 4<br>wp_template_part: 5 Security<br><br>Secure connection (HTTPS): ?<br>Hide errors from visitors: ? Active Plugins (44)<br><br>AcyMailing: by AcyMailing Newsletter Team – 9.10.5<br>Backuply: by Softaculous – 1.4.0<br>Code Snippets: by Code Snippets Pro – 3.6.5.1<br>Disable Admin Notices Individually: by Creative Motion – 1.3.5<br>Elementor Pro: by Elementor.com – 3.25.4<br>Elementor: by Elementor.com – 3.25.9<br>301 Redirects: by WebFactory Ltd – 2.77<br>Essential Addons for Elementor: by WPDeveloper – 6.0.10<br>Featured Products by Category: by Jameshwart Lopez – 1.1<br>FileOrganizer: by Softaculous Team – 1.1.4<br>GoSMTP: by Softaculous Team – 1.1.1<br>Import Users from CSV: by WP All Import – 1.3.1<br>Jetpack: by Automattic – 14.0<br>Kadence Blocks – Gutenberg Blocks for Page Builder Features: by Kadence WP – 3.3.7<br>Manage Notification E-mails: by Virgial Berveling – 1.8.6<br>Media Library Assistant: by David Lingren – 3.23<br>Pages with category and tag: by YAHMAN – 0.9.0<br>Popup Maker: by Popup Maker – 1.20.2<br>Publish & Add New: by Ramon Ahnert – 1.0.0<br>Real Media Library: by devowl.io – 4.22.26<br>SDM Hidden Downloads: by Tips and Tricks HQ<br>Alexander C. – 2.1<br><br>Simple Download Monitor: by Tips and Tricks HQ<br>Ruhul Amin<br>Josh Lobe – 3.9.25<br><br>Temporary Login: by Elementor.com – 1.2.0<br>The Plus Addons for Elementor: by POSIMYTH – 6.0.7<br>The Plus Addons for Elementor - Pro: by POSIMYTH – 6.0.7<br>Advanced Editor Tools: by Automattic – 5.9.2<br>User Notes: by Cartpauj – 1.0.2<br>User Verification: by PickPlugins – 2.0.25<br>Variation Price Display Range for WooCommerce: by WPXtension – 1.3.15<br>Visibility Logic for Elementor: by StaxWP – 2.3.7<br>WDesignKit - Templates, Widgets & Cloud: by POSIMYTH – 1.1.0<br>Discount Rules: Collections: by Flycart – 1.2.2<br>WBW Currency Switcher for WooCommerce: by woobewoo – 2.1.1<br>Discount Rules PRO 2.0: by Flycart – 2.6.5<br>Discount Rules Core: by Flycart – 2.6.6<br>WooCommerce.com Update Manager: by Automattic – 1.0.3<br>Amazon S3 Storage for WooCommerce: by Kestrel – 2.7.1<br>Extra Product Sorting Options for WooCommerce: by SkyVerge – 2.10.0<br>My Downloads Shortcode for WooCommerce: by Pramadillo – 1.8.0<br>WooPayments: by WooCommerce – 8.5.0 (update to version 8.5.1 is available)<br>WooCommerce PayPal Payments: by WooCommerce – 2.9.4<br>PDF Invoices & Packing Slips for WooCommerce: by WP Overnight – 3.9.0<br>WooCommerce Shortcodes: by WooThemes<br>Claudio Sanches – 1.0.0<br><br>WooCommerce: by Automattic – 9.4.2 Inactive Plugins (11)<br><br>Akismet Anti-spam: Spam Protection: by Automattic - Anti-spam Team – 5.3.3<br>Classic Menu Block: by Jonathan Harris – 0.1.7<br>Classic Menu in Navigation Block: by WebMan Design<br>Oliver Juhas – 1.0.5<br><br>Creative Mail by Newfold Digital: by Newfold Digital – 1.6.9<br>FG Joomla to WordPress: by Frédéric GILLES – 4.29.2<br>Free Downloads WooCommerce Pro: by WP Enhanced – 3.5.8.3<br>Google Analytics for WordPress by MonsterInsights: by MonsterInsights – 9.2.1<br>Simple Custom CSS and JS: by SilkyPress.com – 3.49<br>The HostGator Plugin: by HostGator – 2.12.1<br>WPForms Lite: by WPForms – 1.9.2.1<br>Yoast SEO: by Team Yoast – 23.8 Must Use Plugins (1)<br><br>Endurance Page Cache: by Mike Hansen – 2.2.1 Settings<br><br>Legacy API Enabled: –<br>Force SSL: –<br>Currency: AUD (AU$)<br>Currency Position: left<br>Thousand Separator: ,<br>Decimal Separator: .<br>Number of Decimals: 2<br>Taxonomies: Product Types: external (external)<br>grouped (grouped)<br>simple (simple)<br>variable (variable)<br><br>Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)<br>exclude-from-search (exclude-from-search)<br>featured (featured)<br>outofstock (outofstock)<br>rated-1 (rated-1)<br>rated-2 (rated-2)<br>rated-3 (rated-3)<br>rated-4 (rated-4)<br>rated-5 (rated-5)<br><br>Connected to WooCommerce.com: ?<br>Enforce Approved Product Download Directories: ?<br>HPOS feature enabled: ?<br>Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore<br>HPOS data sync enabled: ? Logging<br><br>Enabled: ?<br>Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2<br>Retention period: 30 days<br>Level threshold: –<br>Log directory size: 42 KB WC Pages<br><br>Shop base: ? Page ID is set<br>but the page does not exist<br><br>Cart: #12 - /cart/ - Contains the [woocommerce_cart] shortcode<br>Checkout: #13 - /checkout/ - Contains the [woocommerce_checkout] shortcode<br>My account: #14 - /my-account/<br>Terms and conditions: #15 - /refund_returns/ Theme<br><br>Name: Hello Elementor<br>Version: 3.1.1<br>Author URL: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash<br>Child Theme: ? – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme<br>WooCommerce Support: ? Templates<br><br>Overrides: – WooPayments<br><br>Version: 8.5.0<br>Connected to WPCOM: Yes<br>WPCOM Blog ID: 237665702<br>Account ID: acct_1Q6jLdFhqpHKphw8<br>Payment Gateway: Disabled<br>Test Mode: Disabled<br>Enabled APMs: card<br>WooPay: Not eligible<br>Apple Pay / Google Pay: Enabled (product,cart,checkout)<br>Fraud Protection Level: basic<br>Multi-currency: Enabled<br>Auth and Capture: Enabled<br>Documents: Disabled<br>Logging: Disabled WooCommerce PayPal Payments<br><br>Onboarded: ?<br>Shop country code: AU<br>WooCommerce currency supported: ?<br>Advanced Card Processing available in country: ?<br>Pay Later messaging available in country: ?<br>Webhook status: –<br>PayPal Vault enabled: –<br>ACDC Vault enabled: –<br>Logging enabled: –<br>Reference Transactions: ?<br>Used PayPal Checkout plugin: –<br>Subscriptions Mode: Disabled<br>PayPal Shipping Callback: –<br>Apple Pay: ?<br>Google Pay: ?<br>Fastlane: – Admin<br><br>Enabled Features: activity-panels<br>analytics<br>product-block-editor<br>coupons<br>core-profiler<br>customize-store<br>customer-effort-score-tracks<br>import-products-task<br>experimental-fashion-sample-products<br>shipping-smart-defaults<br>shipping-setting-tour<br>homescreen<br>marketing<br>mobile-app-banner<br>navigation<br>onboarding<br>onboarding-tasks<br>pattern-toolkit-full-composability<br>product-custom-fields<br>remote-inbox-notifications<br>remote-free-extensions<br>payment-gateway-suggestions<br>printful<br>shipping-label-banner<br>subscriptions<br>store-alerts<br>transient-notices<br>woo-mobile-welcome<br>wc-pay-promotion<br>wc-pay-welcome-page<br>launch-your-store<br><br>Disabled Features: product-data-views<br>experimental-blocks<br>minified-js<br>product-pre-publish-modal<br>settings<br>async-product-editor-category-field<br>product-editor-template-system<br>blueprint<br>reactify-classic-payments-settings<br>use-wp-horizon<br><br>Daily Cron: ? Next scheduled: 2024-11-28 23:59:15 +09:30<br>Options: ?<br>Notes: 51<br>Onboarding: skipped Action Scheduler<br><br>Complete: 1,271<br>Oldest: 2024-10-30 05:08:33 +0000<br>Newest: 2024-11-28 19:05:30 +0000<br><br>Failed: 9<br>Oldest: 2024-10-05 09:42:57 +0000<br>Newest: 2024-11-27 07:07:31 +0000<br><br>Pending: 5<br>Oldest: 2024-11-28 19:07:49 +0000<br>Newest: 2024-12-15 10:13:18 +0000 Status report information<br><br>Generated at: 2024-11-29 04:36:57 +09:30<br>
Hello jestermgee,
Thank you for your reply.
I understand your situation and the challenges you’re facing with download methods and server limitations.
I strongly recommend consulting a professional WooCommerce developer who can help you select the right web server, plugins, and tools to ensure your website runs efficiently and cost-effectively. This approach will save you time and money while delivering the results you’re aiming for.
You can find good devs at WooExperts.com and Codeable.io.
I hope this helps. ??
Sorry, does not really help. Of course I can “consult a professional”, change hosting provider etc but this will not save time/money, this will cost a considerable amount of both time and money.
As mentioned, for 10 year I ran a Joomla site on the same server for the exact same application and never had issues. While I really wish I had stuck to using Joomla I had to update and decided to try WordPress and WooCommerce which has been costing me 20x what it did with joomla to get the same function because while WP and Woo may be “open source” they are basically the shell of a car and everything that is needed to drive is a separate plugin and addon.
Anyway, my hope was I could find out how the download process is handled as it appears from my investigation the process uses a CPU thread to generate a download stream and this is being cut off at the 300 second mark. I simply want to know if this is the case and if the actual issue is related to how Woo is working or how the web server is working because ALL other tests I perform from other download management plugins work fine, just a product downloaded in Woo has 300 seconds to complete or it just ends the download and the file is useless.
I have implemented Amazon AWS and this works just fine, however again is another rather unpredictable cost I now have to invest in and this in turn is forcing me to have to increase my prices even further.Hi @jestermgee,
I understand your concern and the desire to keep your process cost-effective. To clarify, Joomla and WordPress are two distinct CMS platforms designed for different audiences.
While Joomla is powerful, it has a steeper learning curve and lacks the extensive range of plugins, support, and community that WordPress offers. WordPress, on the other hand, was created to address these gaps, with WooCommerce as its core solution, designed to be extended with plugins to meet your specific needs.
The approach you’re currently using is the best option. It’s generally not recommended to host large files on your server, especially if you’re using shared hosting, as it can impact site performance. Using a separate server like AWS remains the most efficient solution for handling large files.
I understand the differences between Joomla and WordPress, I used Joomla for 20 years
I also ran (again as mentioned) the same setup using Joomla, hosting all files from my sites server for 10 years with the only issue being some users had slow downloads if located a distance away but it was simple, very cost effective and reliable. Sadly the ONLY reason I have switched to WP is due to the components my store was based around (template, K2 component and QuickSell) all being made obsolete and not working in Joomla 4 or 5 requiring me to start from scratch.
So while I appreciate the reply, it does not address the question I am asking and that is this 300 second limitation, is this something in WordPress, Woo Commerce or a server issue. I have asked my server host who have confirmed they do no such limitations so I am now looking at WordPress or Woo Commerce as the culprit.
I already use Amazon S3 storage for the large files, however this is additional unpredictable cost which is exceeding my predicted budget already and will only increase after my initial 12 month trial which given I already have a GDrive and 1TB of web server storage, monthly costs on S3 storage seems like just a waste of money. The issue is I seem to have far too much generated traffic for the number of visitors I seem to have which does not make sense at all and is costing me money daily.Forget it, seems the answers I am looking for no one seems to have here, I will do as I always do and just solve my own problems.
-
This reply was modified 1 month, 3 weeks ago by
Jason.
Hi @jestermgee,
The issue you’re experiencing, where downloads fail exactly at the 300-second (5-minute) mark, is almost certainly caused by a timeout setting on your server. Despite the adjustments you’ve made to your PHP settings (like max_execution_time and memory_limit), the problem lies outside PHP and is likely related to your server configuration or network settings.
Web servers, such as Apache or NGINX, have their own timeout configurations that govern how long a connection can remain open. In your case, it appears that the server is set to terminate idle or long-running connections after 300 seconds. This is the default timeout value for many web servers. Additionally, if your hosting provider uses a firewall, proxy, or load balancer, it may also have a timeout setting that limits connection duration. These settings are separate from PHP and will override the configurations you’ve made in your php.ini.
To address this issue, I recommend contacting your hosting provider and explaining that downloads are being cut off precisely at the 300-second mark. Request them to check and increase the following server timeout settings to a higher value, such as 1200 seconds (20 minutes), which should accommodate larger file downloads. If your server uses Apache, ask them to adjust the Timeout or KeepAliveTimeout directives. If it’s NGINX, they should look at proxy_read_timeout and client_body_timeout.
Additionally, if your server uses PHP-FPM to manage PHP processes, they should verify that the request_terminate_timeout is set to a value that aligns with your PHP execution time.
If the hosting provider insists that there are no server-level restrictions, it’s possible that a firewall or proxy is terminating the connection. In such cases, request them to review and extend the timeout period for any network-level controls in place.
For a workaround, you might also consider hosting large files on a dedicated file storage solution, like Amazon S3 or Google Cloud, and linking to those files directly. This bypasses server constraints entirely and ensures reliable delivery of large files to your users.
By addressing these server or network-level timeout settings, your issue should be resolved, and downloads will be able to proceed uninterrupted, regardless of their size.
Since this is not directly tied to the WooCommerce plugin, I’ll go ahead and mark this thread as resolved.
If you need further assistance or have other WooCommerce-related questions, feel free to create a new topic. Thank you!
-
This reply was modified 3 months ago by
- You must be logged in to reply to this topic.