- User Alice completes order 29
- User Bob visits
/checkout/29/review or /checkout/29/complete
- User Bob sees Drupals "Page not found"
Now the Drupal log lists the 404 (of course) and the following PHP warning (same minute) ("Location" is the visited checkout page):
Warning: Cannot modify header information - headers already sent by (output started at /…/includes/common.inc:2607) in drupal_send_headers() (line 1243 of /…/includes/bootstrap.inc).
I read (for example at #1129234: Cannot modify header information) that the cause could be a trailing blank line or PHP tag.
I wonder if this could be the cause (didn't find anything) for my case. These "headers already sent" warnings are only logged for those described cases where I visit completed checkout pages that are not from my own orders.
This is only happening for existent order IDs.
Could someone test if this is happening at his/her site, too?
Comments
Comment #0.0
no2e commentedwarning → en instead of de
Comment #0.1
no2e commentednot for faked order ids
Comment #0.2
no2e commentedminor
Comment #1
mr.baileysI'm able to reproduce this problem. This is a bug in commerce originating from the use of
drupal_not_found()anddrupal_access_denied()incommerce_checkout_router().According to the docs for
drupal_access_denied()anddrupal_not_found(), page callback handlers should returnMENU_ACCESS_DENIEDorMENU_NOT_FOUNDinstead of calling those fuctions.Comment #2
bojanz commentedNice catch.
Comment #3
rszrama commentedCool, I didn't know about that. Is this new behavior since Drupal 7.0 or did I just miss it ever going in?
Comment #4
bojanz commentedYou missed it originally ;)
Comment #5
rszrama commentedForsooth, I am asham-ed.
hehe Good to know it's changed - can't believe we didn't get reports sooner! : P
Comment #6.0
(not verified) commentedminor