Opened 15 years ago
Closed 13 years ago
#15038 closed defect (bug) (worksforme)
Fix in Ticket #6278 breaks the uploader for Mac Users
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | major | Version: | 3.0.1 |
Component: | Media | Keywords: | reporter-feedback |
Focuses: | Cc: |
Description
Ticket #6278 states that the Flash Uploader does not work when the visitor is using Mac OSX
This is not correct - I am using OSX and the Flash Uploader with mod_security2 works just fine.
But it's worse than that - at least on my server, apache_mod_loaded() just kills the script silently. I'm using suPHP so I believe that runs PHP as a CGI and so apache_mod_loaded() probably isn't going to work (although one would have hoped it would simply return false rather than crash - but that's not a WP issue).
Nonetheless, I don't believe functionality should be blocked simply because you're on a Mac (a client issue) and the server has mod_security loaded (a server issue). This would be far better solved IF it's an issue, with a .htaccess or apache configuration rule such as SecFilterSelective or similar.
This bug is likely to affect many people using cPanel servers - mine's just a stock server with suPHP configured.
To reproduce you'll need to access a WP installation, attempt to upload media using a Mac OSX machine and be running on a suPHP based server.
Attachments (1)
Change History (14)
#2
in reply to:
↑ 1
@
15 years ago
Replying to jerrek71:
A quick update...
Running a quick script to test apache_mod_loaded() on my server results in the following being logged into the error_log;
PHP Fatal error: Call to undefined function apache_mod_loaded() in /root/test.php on line 3
It would seem that the fix for ticket #6278 ought to test if the function exists before trying to use it?
Sorry, that was dumb - apache_mod_loaded is defined in functions.php in WP itself so it won't work in a standalone script...
As you were :-)
#3
@
15 years ago
So the server crash is to ignore with your report and the report is about MACOS and MOD_SECURTIY only?
#4
@
15 years ago
- Summary changed from Ticket #6278 is absurd - and its fix breaks the uploader completely for Mac Users! to Fix in Ticket #6278 breaks the uploader for Mac Users
#5
@
15 years ago
- Resolution set to invalid
- Status changed from new to closed
A bit more digging has revealed to me that is actually not a WP problem but in fact my server has a problem.
The phpinfo(8) call in apache_mod_loaded() crashes and thus kills the whole script.
Worth keeping the notices of this around in case other people suffer, but if you get a blank screen when trying to upload media, write a quick test script which just contains the phpinfo(8) call and make sure it completes properly. If it doesn't, your server is borked.
Steve.
#6
@
15 years ago
- Keywords has-patch added; flash uploader removed
- Milestone changed from Awaiting Review to 3.1
- Resolution invalid deleted
- Status changed from closed to reopened
I keep seeing reports in this for phpinfo(8). Reference:
Let's error-suppress that. Does that solve our issue? Patch attached.
#7
follow-up:
↓ 8
@
15 years ago
Maybe someone can run var_dump( function_exists( get_loaded_extensions() ) );
and see if it exists on an install this affects. I might need to dig into the PHP internals to see exactly what's going on, how phpinfo(8) gets generated, and where it may fail.
#8
in reply to:
↑ 7
@
15 years ago
Replying to nacin:
Tried 15038.diff on my affected system with no change in results (note: I'm seeing it with the Permalinks Settings page coming up blank).
I ran var_dump( get_loaded_extensions() ); and this returned:
array(44) { [0]=> string(4) "Core" [1]=> string(4) "date" [2]=> string(4) "ereg" [3]=> string(6) "libxml" [4]=> string(7) "openssl" [5]=> string(4) "pcre" [6]=> string(7) "sqlite3" [7]=> string(4) "zlib" [8]=> string(6) "bcmath" [9]=> string(8) "calendar" [10]=> string(5) "ctype" [11]=> string(4) "curl" [12]=> string(3) "dom" [13]=> string(6) "filter" [14]=> string(3) "ftp" [15]=> string(2) "gd" [16]=> string(7) "gettext" [17]=> string(4) "hash" [18]=> string(5) "iconv" [19]=> string(7) "session" [20]=> string(4) "json" [21]=> string(8) "mbstring" [22]=> string(6) "mcrypt" [23]=> string(5) "mysql" [24]=> string(3) "SPL" [25]=> string(8) "standard" [26]=> string(5) "posix" [27]=> string(10) "Reflection" [28]=> string(4) "Phar" [29]=> string(9) "SimpleXML" [30]=> string(7) "sockets" [31]=> string(4) "imap" [32]=> string(9) "tokenizer" [33]=> string(3) "xml" [34]=> string(9) "xmlreader" [35]=> string(9) "xmlwriter" [36]=> string(8) "cgi-fcgi" [37]=> string(7) "suhosin" [38]=> string(3) "PDO" [39]=> string(10) "pdo_sqlite" [40]=> string(6) "SQLite" [41]=> string(9) "pdo_mysql" [42]=> string(14) "SourceGuardian" [43]=> string(14) "ionCube Loader" }
#9
follow-up:
↓ 10
@
15 years ago
schmoo2x: Thanks. Wondering if it is apache_get_modules() then.
Can you try:
var_dump( function_exists( 'apache_get_modules' ) );
And if it exists, then suppress errors for that call on line 3356: $mods = @apache_get_modules();
All that said, another ticket just occurred to me -- thinking maybe it's this bug: #15044.
#10
in reply to:
↑ 9
@
15 years ago
Replying to nacin:
Can you try:
var_dump( function_exists( 'apache_get_modules' ) );
bool(false)
That something I can compile into Apache? I'll do it if it will help track this thing down.
#11
@
14 years ago
- Keywords reporter-feedback added; has-patch removed
- Milestone changed from 3.1 to Future Release
Unfortunately, there's no way for us to reproduce this, understand why this is failing, or how to fix it. Punting.
A quick update...
Running a quick script to test apache_mod_loaded() on my server results in the following being logged into the error_log;
PHP Fatal error: Call to undefined function apache_mod_loaded() in /root/test.php on line 3
It would seem that the fix for ticket #6278 ought to test if the function exists before trying to use it?