19

I recently came across this question.

It basically boils down to

  1. What is the cause of white screen?
  2. What is the cause of X?
  3. What is the cause of Y?

with each question being hyperlinked to an answer and the whole thing being community-wiki.

What's your thoughts on this question? Should we allow such things or should it be broken up more?

8
  • 4
    possible duplicate of Community Wiki Reference Questions
    – Gordon
    Commented Oct 8, 2012 at 14:04
  • 4
    I don't know enough of the particular tag to comment on the quality of the list itself, but I don't particularly mind it if these questions come up over and over again. What I do fear though is that a question like this will have a similar outcome of usage as "What Stack Overflow is Not" had. Good content, sometimes used poorly/snarky. I'm a bit on the fence about this one.
    – Bart
    Commented Oct 8, 2012 at 14:08
  • 3
    Just so you know, this isn't new. There's a similar reference question that's been around for a long time, also maintained by [php] regulars: stackoverflow.com/questions/3737139/… Commented Oct 8, 2012 at 14:27
  • 1
    @BoltClock'saUnicorn Though (as you are certainly aware) that one links to separate questions on SO. This one contains the answers to a number of them below it. Which would make this list next to useless IMO in a close as dupe scenario. Or at least not as clear as it could be. The one you link is better in that respect. Given that one can find the exact question to use as the dupe.
    – Bart
    Commented Oct 8, 2012 at 14:46
  • 6
    @BoltClock'saUnicorn God, that question should just be moved to the tag wiki and obliterated. Talk about useless for a googler. Commented Oct 8, 2012 at 16:17
  • @GeorgeStocker Absolutely. Question needs to go away and so does this debate. It's completely wrong for the current Stack Overflow.
    – user229044
    Commented Oct 8, 2012 at 17:11
  • 1
    possible duplicate of Do Reference Questions makes sense
    – Gordon
    Commented Oct 8, 2012 at 17:14
  • Related? meta.stackexchange.com/questions/149285/…
    – hakre
    Commented Oct 8, 2012 at 22:59

11 Answers 11

22

I think that we should not lose sight of the fact that we need to adapt as time marches on. The PHP tag is an angry, bloody mess. I think we also need to be happy that the tag has more or less permanent fixtures in the community that help keep it clean, and support them in their efforts. The question they created is a flare, it's a flare that says we just can't take this constant stream of crap anymore, give us something better to deal with it.

I am also part of that community. PHP is not my primary language, but I have to use it daily.

That being said, this illustrates a problem, people don't read tag wikis - yet doing so would save a lot of people a lot of time and trouble. Putting what they compiled into the tag wiki is like putting it in the attic and leaving a note on the back door to let people know it's there.

Sure, a little duplication is a very good thing because:

  • People search for stuff differently
  • The context of one question might be more interesting than another, resulting in even more information someone could walk away with
  • Searches turn up more results eventually leading the searcher to what we (hope) is a well maintained question

That's the problem, when duplicates come in at the volume that PHP is seeing, we break away from useful and get into downright absurd.

This last attempt was noble, and took quite a bit of time to put together. Is it the answer? No. We can't close against a massive list of possible errors - because we'd then be effectively closing against answers on other questions instead of other specific questions. We're not set up to do that consistently, and the need for it is (while huge to the PHP community) relatively local in the grand scope of things.

That does not, however, excuse us from coming up with a better idea. All we've done to date is put every idea and effort they have come up with under extreme scrutiny, without offering up anything better. We complain when they get badges, we complain when they try to make sure that crap gets enough momentum to close and decay quickly, then we complain when they try to make encyclopedic references.

How much more effort are these people expected to put in? How much do they have to fight for it like C++ did to keep their book list?

We can do better than that, and we should.

6
  • 3
    +1 I'm going to mark this as the answer. I completely agree. This question shouldn't be appropriate, but we DO need something different in the long run for keeping reference things like this.
    – Earlz
    Commented Oct 9, 2012 at 13:29
  • 1
    I think the solution here is to overhaul the tag wiki system and make it possible to close a basic question as being covered by the material it contains. We may in fact need to be able to associate questions with the wiki, and surely find a way to make it more visible. It's not just PHP - If you follow the C tag, you know when a semester starts somewhere by an influx in basic pointer arithmetic questions. It's not bad to have some duplication, but there comes a point where absurdity is reached.
    – user50049
    Commented Oct 9, 2012 at 23:10
  • 1
    Thinking about it, perhaps the best way to make tag wikis more visible is to find some way to close extremely basic questions against them, provided they contain the appropriate canonical answer to the question.
    – user50049
    Commented Oct 10, 2012 at 0:41
  • That sounds like a good idea.. It'd be nice to close as a "portion" of the tag wiki. Like closing against /tagwiki/#myquestion or something so it'd immediately obvious what portion of the wiki is relevant
    – Earlz
    Commented Oct 10, 2012 at 2:31
  • This answer serves a medal.
    – Pekka
    Commented Oct 25, 2012 at 23:53
  • I wish I could upvote. I've been frustrated by the abundance of Notice: undefined index errors. There is a question that some get closed against, but IMO it isn't nearly as clean and well organized as the PHP Errors Reference. And I find that the 'Possible Duplicate' links can sometimes lead one around in circles. It would be nice to have one 'authoritative' set of answers for these types of questions. FYI, I didn't know about tag wikis until just now. They should at least be mentioned in the FAQ.
    – toxalot
    Commented Dec 3, 2012 at 17:57
13

I get the intent of the project, and the spirit in which it was created: the same questions keep coming up on Stack Overflow, and some people are sick of seeing them, so why not have one canonical reference so Stack Overflow's tubes don't get clogged or what-have-you?

The problem is that it's not realistic. Take a look at the question counts for some of the errors listed:

Stack Overflow sucks at comprehensively closing commonly-asked questions as duplicates of previous questions. Creating yet another question and expecting that it's going to be used as a dupe target for all, even most, of the questions that ask about these errors is wishful thinking.

If this reference is useful to refer to, add it to a tag wiki. But if you want questions to use as dupe targets, look to the dozens of questions already asked and use one of them. If none of them have a good answer (something I find unlikely), add your own.

Also see: Dr. Strangedupe: Or, How I Learned to Stop Worrying and Love Duplication

9
  • 1
    To be fair the mysql_fetch_array() expects parameter 1 to be resource, boolean give has a "canonical" Q&A (it was a merge of the top questions) and a big effort to close the thousands of closed questions as a duplicate. While not wholly successful a large number of new questions get closed as a duplicate of the "canonical" one. Commented Oct 8, 2012 at 15:57
  • 2
    Just to get it a little more exposure/awareness, the canonical post for the "Headers already sent..." question is surely this one: stackoverflow.com/questions/8028957/headers-already-sent-by-php
    – user159834
    Commented Oct 8, 2012 at 16:46
  • it should be noted that Jeff got a lot of flak for the Strangedupe post. Also, we are not talking about the post's suggested "some duplication" here but dozens and hundreds of dupes all asking for debugging help, which all are clearly too localized and could benefit from a more general answer than "fix your code at line 54". Last but not least, have a look at stackoverflow.com/review and then ask yourself whether almost 60000 dupes waiting for review really isn't much of a problem.
    – Gordon
    Commented Oct 8, 2012 at 17:10
  • @WesleyMurch absolutely, but the question is linked in the Reference as well, so it's just additional exposure.
    – Gordon
    Commented Oct 8, 2012 at 17:11
  • @Gordon I didn't say duplication wasn't a problem; I said Stack Overflow is terrible at closing questions as duplicates (which is evidenced by the close vote queue, amongst other indicators). This question will not help with the problem; it just adds yet another question to the mix (i.e., it violates guideline 1 from Dr. Strangedupe). Instead, a dent in the problem can be made by closing questions as duplicates of Q&A pairs that already exist, like the one Wesley linked to.
    – user149432
    Commented Oct 8, 2012 at 17:40
  • Discussing this way is a bit doing the second step before the first. The current problem we have is to locate and work on good canonical resources for the specific area of the common error messages we see often. The reference furthermost should address that. It was not meant as monolithic blob to hammer close-voting into grounds with, but a tool for actually locating these 4-5 good Q&As for each message. The header example is good and bad: Very good but also too much in one. Try to find the other 4, and if you do that, you know what is current. We can only do this step by step, too much.
    – hakre
    Commented Oct 8, 2012 at 19:07
  • 1
    @hakre Why not use the tag wiki for that? Commented Oct 9, 2012 at 4:55
  • 1
    @NullUserExceptionอ_อ: Well this has been suggested to concrete users, even to those who criticized the question form, but it has not been picked up. I suggest you contact these users directly to get better practical information why they were not able to adopt to a tag wiki. As far as me is concerned you don't need to ask, because I don't have any expertise with that. So the question is a little null-pointing when you ask it to me. Also I do not think that the short time-span has created enough data to base a further decision on it.
    – hakre
    Commented Oct 9, 2012 at 8:38
  • 1
    @NullUserException for the same reasons why the Operator Reference is not a tag wiki either. I've explained that to you back then already. Tag Wikis fail to deliver.
    – Gordon
    Commented Oct 9, 2012 at 8:56
12

Since this discussion led to Reference - What does this symbol mean in PHP? to be closed again, I'll throw in my 2c in as well.

When I created the Operator Reference more than two years ago, the same fuss happening right here happened there as well. The question would immediately gain a notable number of upvotes indicating interest, then a flood of comments came in (now deleted) complaining about it. The question got closed and reopened and closed and reopened. Almost all of the arguments I hear right now I heard back then.

Let's look at the facts for a few seconds.

  • it is not a real question
  • it is not constructive
  • it is not how Questions are supposed to be used
  • it should be a tag wiki

I give you that. It's all true. And for both References in question. So by that definition, they sure should be closed and deleted.

But, at least for the Operator Reference, it is also true that

This is value!

I have no other numbers to back that, but my impression is that there is less new operator questions nowadays. And those new ones are closed against the Operator Reference, often with a specific question given as second dupe. Feel free to validate this claim.

Granted, this new Reference (not created, but supported by me) does not fix a shortcoming in SO's search engine However, given the vast amount of dupes we have about errors, warnings and notices, it doesn't matter that you can search for these. Because it is simply not expedient to go searching for these anymore.

Most of the existing questions are too localized and contain answers like "fix line 65". It is hard to find a suitable dupe among these because of the sheer amount of them. By the very same rules that got both References closed now, none of these other Questions should exist. But they do. They get answered over and over again. We are not closing them as too localized (well, I do) because they are easy reputation and not answering them would leave the OP with no solution whatsoever. So instead we pile up. Is that really the solution?

If this new Reference contains a general solution to common errors (not all, that's impossible) along with additional links to quality answer or existing Canonicals, we have a first line of defense against these questions. And we won't leave the OP in the rain. Yes, they still have to search the Reference then, but that is very little effort given that it is a) a filtered list b) containing relevant links and 3) the OP should have done so before asking anyway.

Even if we can't stop them from asking, maybe we can stop us from piling up.

Linking to References is not bad

One of the more common complaints here is that linking to a reference instead of a concrete question is bad. People won't find their answers in the Reference they say. I disagree, because people are not braindead. If anything they are too lazy to search. That's their own fault then. Nothing we can do will make them search. However, I wonder how you know that all the questions we closed against a real question actually did or didn't answer their problem at all?

I must have closed more than two thousand questions by now (most without the reference) and I can count the ones where an OP actually said "right, that solves it" on one hand. I got about three dozens cases where an OP complained that the dupe is not appropriate. The vast majority simply didn't say anything at all. They won't even upvote anything in the linked dupe. So how do we count this then? No feedback means dupe didn't help? Or did help?

Actually, it doesn't matter. Because if no negative feedback is the measure, then linking to References cannot be bad, because there is almost no negative feedback. If upvotes are the measure, then linking to a Reference is also not bad, because it has 389 upvotes and 271 favorites. And if positive feedback is the measure, then we have to consider the entire practise of closevoting as ineffective.

Let's talk about Form.

I have always been an advocate of the Digest Format for References for reasons outlined. When I was told about the new Reference in the PHP chat, I assumed it would be in that format. Digest is my favorite approach, because it is effectively a tag wiki on steroids:

  1. It shows up in the FAQ and Suggestions, which gives it much more visibility.
  2. It collect suitable dupes to close with
  3. It helps OPs to find possible Q&A for their problem more easily
  4. It helps contributors to find existing Q&A to turn into Canonicals
  5. It doesn't take away from existing questions
  6. It doesn't rely on quality content to be provided in the Reference

You could also think of it as a superdupe. When we close a question as a dupe, it will say: this is a dupe of X. The Operator Reference (since it has no answers, except for that one where there was no dupe for) is effectively like a closed question saying exactly that: "your question is a dupe of one of these. go find it in the list". In that regard, the Digest format isn't too far off from what we expect formally.

In case of the Operator Reference, I get no reputation from it (CW). I even was peer pressured to get it denormalized from me, so I cannot get any badges from it*.

* despite the day it took me to compile the initial list and the effort I put into maintaining it over the years and other, failed attempts at creating References gaining their creators badges for years. Note: after three years I've finally had it assigned back to me.

Cause and Effect

I absolutely agree that this Reference format is not a real question. But that's not the point. It wasn't meant as a question in the first place. That the Operator Reference exists is merely an expression of StackOverflow's failing processes and tools. The current tag wikis are a failure. The required effort to cut down on dupes is too time consuming. And "loving the dupes" doesn't help the situation at all. It makes it worse.

Also, keep in mind that we are developers. If there is anything we really know how to do, than it is self-organizing ourselves and improving our tools. This is exactly what is happening here. It's pretty much Agile. We are adapting to the realities in the PHP tag.

TL;DR

References are not real questions, but it doesn't matter because they don't intend to be. The Operator Reference has undeniably proven it's worth to the PHP tag. The Error Reference could achieve the same if given the chance. If anything, we should discuss whether it's current form should be changed to a different format, e.g. the Digest format.

The continuous attempt at creating References are symptoms of failing tools on StackOverflow. We should look at the root causes and either accept the References as the best cure to these problems or come up with better ways to solve them. Discussion about better ways should take into account that the people in the PHP tag likely know best which challenges they face in there and how they can be solved.

10
  • 1
    Question: If you close as a dupe, do you close as a dupe against the reference question or against the specific question it links to? If it's the latter (and I sure hope so) then that's one difference with the current reference question under discussion. It self-contains all answers, making close-as-dupe pretty uninformative the longer the list gets.
    – Bart
    Commented Oct 9, 2012 at 12:09
  • @Bart I originally envisioned it to work like this: new dupe comes in. you open the reference, pick one of the listed Qs and provide it as a closevote. In practise, people (including me) close with the reference because it's more convenient. It's not much effort to find your particular operator in there and telling the OPs about the reference gives them a good starting point when they have a Q about another operator. However, it is not uncommon that dupes get closed with the Reference and a particular link from there.
    – Gordon
    Commented Oct 9, 2012 at 12:13
  • 2
    Hmm, okay. Closing against the reference is a bit of a problem for me. It quickly results in "The thing you're looking for is over there somewhere". Not sure if I like that. Though admittedly I'm not active in the tag and don't know how informative or instructive you guys make it for the OP.
    – Bart
    Commented Oct 9, 2012 at 12:15
  • We had cases where the answer wasn't in there. Whenever I encountered such a situation (or when there already was good answers on the question), I added the new Q to the reference. IMO, the list is pretty complete by now. It also has links to the corresponding pages in the PHP Manual. So the chances for not being in there are quite slim nowadays.
    – Gordon
    Commented Oct 9, 2012 at 12:22
  • 1
    Why not just close as a duplicate of google.com The information is in there somewhere, they just need to find it. Having some collaboratively updated index of good answers to common questions isn't a bad thing, but having it as a question is, if nothing else because people will use it as the target of dups, which they shouldn't have the option of doing. Oh, and your list of reasons that everyone is objecting doesn't seem to include the primary concerns that others have listed here in this thread...
    – Servy
    Commented Oct 9, 2012 at 14:05
  • 3
    @Servy that is an invalid comparison and you know it. As for the list of objections: I listed the factual ones, not the opinions, because frankly, they are false. Stay a month in the PHP tag and you'll understand.
    – Gordon
    Commented Oct 9, 2012 at 14:17
  • 2
    @Gordon If the actual exact duplicate is really that easy to find, then you should be able to find it yourself. If it's that hard for you, then expecting the OP to figure it out on their own wouldn't be reasonable. You are correct, it's not really quite like a link to google. It's more like a link to lmgtfy.com, and there's a reason that was banned from the site.
    – Servy
    Commented Oct 9, 2012 at 14:17
  • 2
    @Gordon The most common objection listed throughout the answers in this thread is that the reference will be used as the target of duplicate closes, and users won't be able to find the information that they are looking for in that monstrosity. Now, if you disagree with that it's fine, but you should address that in your answer if you want to claim that you're listing the primary objections. You shouldn't just ignore it because you think it's not correct.
    – Servy
    Commented Oct 9, 2012 at 14:21
  • @Servy No one can reasonably prove that an OP didn't find what s/he was looking for after we linked them to the a Reference post. In fact, you can't even prove that directly linking people to the dupes contained within such a Reference did help them find the answers they were looking for. I must have closed more than a thousand Qs by now (with and without the reference) and I can count the ones where an OP actually said "right, that solves it" on one hand. What I can prove is that people find the Reference useful and that it's actively used. You're right. Maybe I should put that up there.
    – Gordon
    Commented Oct 9, 2012 at 14:25
  • @Gordon Well, I've probably closed less duplicates than that, and yet I've seen more than just a handful of people indicating that a linked duplicate did or did not solve their problem.
    – Servy
    Commented Oct 9, 2012 at 14:36
9

The question is so useful that it's actually useless.

Now, when someone has that question, instead of closing it as a duplicate of the best answered version out there, we're supposed to close it as a duplicate of that monstrosity?

Can you imagine the user experience of a new user having to navigate that document just to figure out which question/answer meets their needs?

We know from experience that the Stack Exchange model doesn't work for what they're trying to do. It only works in the most general cases, like a list of programming books. Even then, of course, it gets unwieldy, fast.

This question should not exist. It does not add any usefulness to the people who actually get their questions closed as a duplicate of this question, and it subverts the Q & A nature of the site by completely negating the "Q" part.

I think the content should be moved to the tag wiki for that tag, if the PHP people are really hankering to keep it around.

6
  • 7
    If we wanted people to have to read a manual to find an answer, why would Stack Overflow exist at all? Commented Oct 8, 2012 at 16:16
  • 4
    "Read the manual" is usually what we answer on these kinds of questions, if they are not closed. Commented Oct 8, 2012 at 16:25
  • @MadaraUchiha And that's horrible. Stack Overflow is meant to be a useful repository of programming knowledge. If one of our answers explains it better than the manual (and I think you'd be hard pressed to find that not to be the case), then why send them elsewhere? We've answered the question plenty enough times that there's got to be a good answer for it on Stack Overflow. Commented Oct 8, 2012 at 20:54
  • 6
    The problem is not the availability of content. It's that there's so much content (And noise), that it's very hard to find the quality one and close it by. Even if you find that good one, sharing that information with community is very difficult. You'll know to close to that specific good duplicate, but getting that to others is hard. That's why I think the reference is useful. Commented Oct 8, 2012 at 22:36
  • 1
    @MadaraUchiha and in my answer, I argue it goes the other way. By trying to be an authoratative wiki, it just throws a wall o' text at users and says, "Here, figure out this on your own." That's a bad user experience (incidentally, it's one of the reasons why 'help pages' really shouldn't exist). Commented Oct 9, 2012 at 0:46
  • 5
    @GeorgeStocker they were supposed to figure it out on their own in the first place. They were either too lazy in which case the Reference is our way of saying "look, we really want you to search" or they failed to find the solution in the dozens if not hundred of too localized answers that say "fix line xy". If anything is bad UX than it is that mass of duplicates one has to wade through. In that case we are saying "look, we know it's a mess, but this is the common cause of that error and here is also some links to real good previous Q&A"
    – Gordon
    Commented Oct 9, 2012 at 11:29
5

Well, I'd much rather a single, so-called NARQ, than have thousands (I'm not exaggerating, thousands) of localized duplicates which serve no value to the site.

Ideally speaking, this is the job of the Tag Wiki. There are technical problems with this approach.

  • It's not space efficient.
  • It doesn't appear in search.
  • I can't close a question while referring to it.

Until those concerns are attended to, I think this is actually the best solution the current site allows.

5
  • Agreed, centralized is good. Commented Oct 8, 2012 at 14:05
  • 1
    So you think people will stop posting duplicate questions if this post exists? Nobody will, forever more, post a question asking what <some error message here> means?
    – Servy
    Commented Oct 8, 2012 at 14:38
  • 3
    If the PHP tag-wiki links to individual questions with good answers, then yes, you can close a question as a dupe of one of those.
    – ruakh
    Commented Oct 8, 2012 at 15:08
  • @Servy: Sorry, I think my comment was unclear. I agree with you. I was replying to Madara Uchiha -- specifically, to his/her statement that (s)he "can't close a question while referring to" the PHP tag-wiki.
    – ruakh
    Commented Oct 8, 2012 at 16:03
  • @ruakh Your edit is clearer, thanks.
    – Servy
    Commented Oct 8, 2012 at 16:04
5

There is way, way too much information to have a single post that attempts to explain (or even link to explanations of) all of the PHP errors. This question will only grow over time, making it both difficult to maintain (both to include new error messages, or new solutions or causes of existing error messages) as well as find information for those who actually need it. All of that information also makes it much, much harder for someone looking to solve their problem to find an answer. They need to sort through all of the other errors, and all of the unrelated causes of their error to get help.

If the goal is to stop people from asking duplicate questions, it likely won't help much. Those who don't do research before asking their question will ask it regardless of whether or not this question exists. Those who do take the time for quality research will most likely find a suitable answer if that answer is readily accessible. If they can't, then it's unlikely to be a poor quality question that this reference is designed to filer out; it's likely to be a more difficult problem.

Others have said that they just want a single question to close all of the "what does this error message mean?" questions as a duplicate of, rather than closing it as a duplicate of another question asking about that same error message. This is contrary to SO's principle that all questions be met with an answer, not to a link that contains another link that contains another link that might be an answer. Unless someone is asking what every PHP error means (in which case, it would be NARQ) it wouldn't be an exact duplicate. Even if this question does stick around, it shouldn't be used as the target for duplicates.

If this question does stick around though it's clear that it will be used as the target of duplicates (based on the fact that many PHP regulars have stated that intent in the comments here and in that question).

A question asking for an explanation of an error message should only be closed as a duplicate of another question asking about that same error message. If no such question exists (or you can't find one) the don't close it as a duplicate. If the unclosed duplicates don't have good answers then answer one of them. If that question/answer are sufficiently useful they will get upvotes and will start showing up in the possible duplicates when asking questions or voting to close as a duplicate (and in Google).

4

I don't think this is a good idea.

If a question is worth answering, it will be a good question on Stackoverflow. Therefore, all these errors can have their own questions and answers. If the question is posed right, it will not be closed as too localized.

As for having an index of errors, I believe tag wikis are made for just that purpose. In a tag wiki a list of these errors could exist for easy reference.

What this question will not do is stop the amount of duplicates as people will not be aware of this question when they pose their own. If there would be a good question and answer on the single error, it would pop up as "related question" and hence might prevent a new duplicate from being created.

7
  • 2
    The problem is not that these questions won't have an answer. The problem is to locate a good one.
    – hakre
    Commented Oct 8, 2012 at 14:11
  • 3
    All of these errors do have their own questions and answers, that's exactly the problem! thousands and thousands of questions and answers, many of which have no answers, or have lame answers. The point is to centralize the information, make the good information somewhere easy to find.. Commented Oct 8, 2012 at 14:11
  • @MadaraUchiha What do you mean with that? Would every error have thousands of different causes? I don't believe that. What I do believe is that most errors do have a few common causes that could be outlined very well in an answer. He, that is actually what you are doing now in this question.
    – Peter Smit
    Commented Oct 8, 2012 at 14:14
  • @hakre Making now one big question about all errors make that answers don't have to compete anymore... Normally you would locate the good answer with votes.
    – Peter Smit
    Commented Oct 8, 2012 at 14:15
  • @PeterSmit: The problem is, even if exists a very good answer which outlines the reasons for the error perfectly, it is very difficult to find. Commented Oct 8, 2012 at 14:15
  • @PeterSmit: It looks like that you are under the impression that this would be one Question to answer all (common) error messages. Rest assured that it is not, it is creating a reference to point to existing Q&A items and a way how to improve content there-of. It's not set in stone, the current form was what I had suggested, it is wiki from the start and those involved with the concrete topic are actually part of the process as well as those who know which common PHP errors exist and how to locate good reference questions. You won't do that for every Q popping up, but for a ref, the ...
    – hakre
    Commented Oct 8, 2012 at 14:20
  • ... effort is not for nothing. The other alternative would be to mass-in the too localized / dupes and to not care because it's useless. If you have a better suggestion, please share.
    – hakre
    Commented Oct 8, 2012 at 14:20
4

I have to object to this question. While it does contain much useful information, what I see is a post trying to answer all questions where an error was referenced. Most of these errors contain enough information right there in the error message to understand (more or less) where to start your debugging.

The concept that one post could cover all PHP error messages and how to debugging them is slightly overzealous IMO.

A simple example would be -

Parse error: syntax error, unexpected T_XXX

Are we as Stack Overflow users supposed to tell users that there is a syntax error here? Or where it is exactly? Stack Overflow is not a code review or debugger service.


I'd like to reference @bart's comment as well -

...What I do fear though is that a question like this will have a similar outcome of usage as "What Stack Overflow is Not" had...

One thing to worry about is the possibility that once people notice a question asking about a certain error message (contained in the CW post), the "accepted" behavior will be to simply leave a link as a comment to the post. We have to remember here that when dealing with these types of problems, more often than not we are dealing with new (possibly in-experienced) users. Linking to a massive post containing loads of text might actually be counter productive. These users failed to do the initial research of looking up the error messages in the documentation. Do we really expect them to read over a generic explanation of the error not related at all to their actual code causing the error?

17
  • PHP's errors are notoriously terrible and unreadable for beginners. For instance, the totally unnecessary "T_" prefix. Also the one that's Hebrew.
    – Zelda
    Commented Oct 8, 2012 at 14:10
  • 3
    No, but instead of having these question spamflood the site, and close them as not-constructive/too localized/NARQ, It can be closed as a duplicate of the centerlized question, and future visitors will see it as well. Commented Oct 8, 2012 at 14:10
  • @Lix: I think you're seeing it wrong that the reference tries to answer all those questions. That is not the intent. The reference exists as a community approach to collaboratively find and document well written exsiting Q&A for those questions and link them. The answers are only a collection of these and some prewording for then to be found canonical answers. If you do not confront yourself with the answer, how should one realize of which quality the reference links are taken?
    – hakre
    Commented Oct 8, 2012 at 14:13
  • 2
    @BenBrocka: What? I've always loved PHP because the errors tell you exactly what happened and where. All you have to do is go to the line number it told you and look for that item. It's not that they're hard to understand for beginners, they just don't care to understand. 100% of these questions result in answers "go to the line in that error."
    – animuson StaffMod
    Commented Oct 8, 2012 at 14:13
  • 2
    @animuson there are some that are very easy to find (I suspect we get far fewer of those) but I'm sure there's no PHP developer out there who hasn't had to google what the hell a T_PAAMAYIM_NEKUDOTAYIM is
    – Zelda
    Commented Oct 8, 2012 at 14:14
  • @MadaraUchiha We've got hundreds, if not thousands, of questions that already cover the error messages listed in this "reference". Given SO's complete inability to dupe questions comprehensively for commonly-asked questions, its existence is extremely unlikely to change that situation in the present or the future. c.f. xkcd
    – user149432
    Commented Oct 8, 2012 at 14:14
  • I just get the feeling that the post is meant to hold the hands of the beginners and "read the error message together". I don't think Stack Overflow is the place for this. OP's have to show some research effort. Not knowing what syntax error means doesn't show much effort... These are the basic error messages for the language. Would we like to see this type of post for every conceivable error in every conceivable language?
    – Lix
    Commented Oct 8, 2012 at 14:15
  • @MarkTrapp: It will help me when looking for dupes to more quickly find them. For the reasons you gave. That's a change.
    – hakre
    Commented Oct 8, 2012 at 14:22
  • 2
    @Lix I don't get what the problem is with that though. It's not encouraging more questions, it's solving them without needing more of them. If it prevents more questions, isn't that completely perfect? What we do now, by answering ad infinitum, the same questions, is the problem.
    – Zelda
    Commented Oct 8, 2012 at 14:27
  • 3
    @hakre what's wrong with using any of the dozens-to-hundreds of extant questions about those errors? If you don't like any of the answers on them, add your own and then dupe new questions to it.
    – user149432
    Commented Oct 8, 2012 at 14:35
  • 5
    @BenBrocka Do you honestly think that people won't post new questions if this wiki post stays around? I highly doubt it.
    – Servy
    Commented Oct 8, 2012 at 14:37
  • 1
    @Servy no, but it makes it vastly easier to close them and it might help some of them find their answer without asking. Of course the point isn't to prevent all of them, it doesn't need to stop all of them to be useful.
    – Zelda
    Commented Oct 8, 2012 at 15:24
  • @BenBrocka Making it easier to close a question without actually solving the OP's problem is a bad thing, not a good thing. As I've said, if this question does exist it should never be used as the target of a duplicate close, as it won't actually contain the answer to solve the question.
    – Servy
    Commented Oct 8, 2012 at 15:31
  • @Servy if it was a list of answers which linked directly to the appropriate answer on an appropriate question it could be used to find the direct, exact duplicate.
    – Zelda
    Commented Oct 8, 2012 at 15:53
  • So then find the direct, exact duplicate, and close the question as a duplicate of that. It's the same logic as with link-only answers. Just follow your own link and provide the OP with the actual information, rather than using layers of indirection.
    – Servy
    Commented Oct 8, 2012 at 15:55
4

I feel the current text at the beginning of the debugging reference does not explain well enough the most important problem it tries to address. The purpose of this reference never was to reference ALL the existing error messages!

Have a look at the new questions:

  • every day there is a new question about headers already sent
  • every day there is a new question about mysql_fetch_array() expects parameter 1 to be resource, boolean given
  • every day there is a new question about You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...

and so on...

Almost all these new questions currently end up being closed with the reason Not constructive or Too localized. The problem is, this explanation doesn't help much the OP.
All these new questions should actually be closed as duplicates of existing questions, but the problems are:

  • it is often very hard among the hundreds (or sometimes thousands) of existing duplicates to find a question where the accepted answer explains correctly what the problem is, and what to do
  • the answers in existing questions are almost always providing a specific answer to the specific problem explained by the OP, and do not explain the problem globally

When closing such a question, it would be nice to close it as a duplicate, and be able to easily provide a link to an existing question with a very good answer addressing the problem the OP encountered.

This debugging reference is an attempt to:

  • ease the work of the people who cast close-votes by providing a list of answers to refer to
  • when applicable, close questions as duplicates and provide a link to the debugging reference (instead of closing as Not constructive or Too localized)

After reading the comments, I think the debugging reference should rather be a list of links (and only that) to other questions. Each question would address only one error or problem, and there would be only one answer to the question. All of that would be Community Wiki, as the current debugging reference is. If we do it this way, it would probably be better:

  • each page contains only one question, so it can't be closed as "Not a real question"
  • when voting to close a question, we can provide a link to the specific "reference question" that properly addresses the problem
32
  • 2
    So even the regular users of the PHP tag are unable to find references to questions answering these common problems? Additionally, if the regular PHP users are closing legitimate questions just because they don't feel like answering them that's a much, much more serious problem that needs to be addressed directly. Duplicate questions shouldn't be closed for either of those reasons just because you can't find a good question to close it as a duplicate of.
    – Servy
    Commented Oct 8, 2012 at 15:35
  • 4
    @Servy We are very much capable of finding the dupes. It just takes too much time. There is like hundreds of them for each error by now and counting. They usually are specific to the OP's code. So you get answers like "Change line 6 to read blah". Technically, all these are too localized and answering them over and over again only helps that particular OP. What the Reference tries to achieve is to give a short general explanation of cause and fix and then link to individual questions for the OP to consider in case that doesn't help him.
    – Gordon
    Commented Oct 8, 2012 at 15:46
  • 1
    @Gordon Then, for each of the frequently asked questions, make a CW post asking about that error, give it a high quality, general, answer, and then link to that. Or, for that matter, just pick one of the existing questions and give a general answer to the question. When you get a question like that you don't have to say, "go to line N and change X to Y." You can answer any of those questions with, "Go to the line number in the error message, Look for something that does Foo and change it to Bar." You can then use that as the target of dups.
    – Servy
    Commented Oct 8, 2012 at 15:52
  • 1
    @Servy If you know where all these useful references are, why don't you help and show us the links to these questions? Having hundreds or thousands of questions about the same warning or error adds no value to Stackoverflow, all the answers are very targeted at the code the OP posted to try and get more upvotes.
    – Jocelyn
    Commented Oct 8, 2012 at 15:54
  • 2
    @Servy sure, that would be one option, but it's much more convenient to have one one large canonical reference than many smaller ones. It's also much easier to make that one reference canonical because it get's more exposure than dividing the answers would get.
    – Gordon
    Commented Oct 8, 2012 at 15:56
  • @Jocelyn I am not a PHP developer; I wouldn't know which answers are of high quality. However, I use the logic that I have described when answering questions in the tags I answer for, and it works just fine. Did you notice that other languages get by without a "what does error X mean" canonical reference? As for the specific answers, you don't need to make every answer general, you just need to pick one of the several hundred that you say are there and give it a general answer. I highly doubt that nobody can provide any general answers to any question.
    – Servy
    Commented Oct 8, 2012 at 16:00
  • @Gordon It's easier for you (you as in, all those answering PHP questions), but as I've said, making it easier to close questions isn't, in and of itself, a good thing. Helping people looking for answers needs to have priority. Making things easier for you isn't good if the quality of this site's content suffers as a result.
    – Servy
    Commented Oct 8, 2012 at 16:01
  • 3
    @Servy I agree that the site's content should not suffer. However, IMO it is the steady influx of dupes that is hurting said content. Not the Reference question. Also, the Reference does help people looking for answers because it collects a general approach in addition to further resources. I honestly dont see how this is hurting the site. The dupes are. They make searching this site harder and harder and divide the few quality answers all over the place.
    – Gordon
    Commented Oct 8, 2012 at 16:05
  • 2
    As I've said throughout this thread, I doubt that this question will (at least not dramatically) affect the number of duplicate questions, only how they are dealt with. This question will be actively harmful. If people are linked to just that monster of a question instead of an actual duplicate of theirs then the quality of the site has suffered. If the questions aren't being closed as a duplicate at all then clearly something needs to be done, as that is a problem, but this isn't a good solution.
    – Servy
    Commented Oct 8, 2012 at 16:12
  • 2
    @Servy Although I have no numbers to back that up, my impression is that the questions asking for "What does [Operator] mean" did lower after I created the Operator Reference. So I wouldn't rule out that this can't work for the Error Reference, too. Also, I think it's fair to link people to the Error Reference to find their Error in it. They were supposed to do research before asking anyways.
    – Gordon
    Commented Oct 8, 2012 at 16:33
  • 3
    @Servy unfortunately, "lack of effort" in doing research prior to asking is our daily bread and butter in the PHP tag. people just cannot be bothered to search, let alone abstract the problem to a more general problem.
    – Gordon
    Commented Oct 8, 2012 at 16:38
  • 2
    @Servy Without the list, we are back to the initial problem: it is sometimes very hard and time-consuming to find good questions to link to, when voting to close a question as duplicate. However I don't care where this list stored, as long as it is easily found by everyone else, including new Stackoverflow users.
    – Jocelyn
    Commented Oct 8, 2012 at 16:40
  • 1
    @Jocelyn Well, Gordon is the exact reason why the index of questions can't be an SO question, as if given the opportunity they will close all related questions as a dup of the index, without even finding a reference to the actual question. As I've said there are options, such as having the list be external to the site or on the tag wiki (or both). Also note that if the answers to each error are a) common enough to get attention b) written well c) used to close a few dups, then they will show up a lot in google, so search, and on the lists for closing/creating questions.
    – Servy
    Commented Oct 8, 2012 at 16:48
  • 4
    @Servy, why do you, as C# developer, care about how PHP community maintains the related questions?
    – teresko
    Commented Oct 8, 2012 at 23:23
  • 4
    @Servy: Your lack of understanding is why what you theoretically outline is disconnected from that it is practically only to achieve with a reference on site in form of a community wiki. You should not stop with making arguments, but actually dive into the mess and apply them. Then come back and judge again.
    – hakre
    Commented Oct 8, 2012 at 23:33
2

I don't really have a problem with the "wiki"-ness of it. I don't even have a problem with it not being a tag wiki...no one looks at tag wikis. Not even Google. I don't consider a tag wiki a viable alternate spot for this. If this were a tag wiki no one would ever find it (except people shouting, exasperated, "Why didn't you look at this tag wiki no one looks at") and it would be useless for duplicate closures.

However, my problem boils down to this:

Surely there should be one question for each item on the list, and in most cases, there probably already is. – rjmunro

There probably are (many) questions for each of these. IMO, this canonical question would be better as a set of links to the specific, existing answers instead of attempting to replace those individual questions/answers.

It's still useful for the "but I want a dupe to close as" purpose then; if something's a dupe on the list, close it as a dupe of the list. If it's not, don't close but add that new question/answer to the list. IMO that makes a lot more sense, and it's already abusive enough of the question/answer concept. Perhaps it's still too far from a question, but I think it's a better solution than this.

1
  • 2
    SO has made it rather clear that it doesn't consider link only answers to be good answers, so a question filled with nothing but lots and lots of link only answers doesn't seem like a good idea. Additionally, if you just want this to be the only question that all PHP error messages are closed as a dup of then it will be harmful to users. They'll then need to navigate this monster of a question to find the link to the real question that theirs is a dup of. You should simply close their question as a dup of the real question that is actually an exact duplicate of theirs.
    – Servy
    Commented Oct 8, 2012 at 14:34
2

I'm new to the community and don't understand all the ins and outs of how it works. I'm not sure whether my opinion holds as much value as a veteran's, but I probably at least bring fresh eyes. I personally feel that sometimes the veterans forget what it was like to be a new user.

What I really like about the PHP Errors Reference:

  • All the answers have the same format.
  • There is one clear answer for each error.
  • As a CW, one answer gets improved upon instead of having multiple partial answers.
  • The errors are easy to find; the links at the top use the exact error text.
  • There is very little clutter.

The problems I see with the the dupes:

  • The question and answers are too localized.
  • Because they are easy to answer,
    • there is an abundance of mediocre answers.
    • there is a lot of clutter.
  • If there are any good answers, they aren't accepted and don't float to the top.
  • The 'Possible Duplicate' links often send one around in circles.

Community Objections:
Upon reading through the answers and comments on this page, it seems there are a few recurring objections.

  • There are a large number of possible error messages and this page could grow so large as to be unusable. Counter Argument: While there are a lot of error messages, there are a limited number of common error messages that come up over and over and over again.

  • What happens if every language wants to have their own error reference like this? Counter Argument: I believe1 PHP is one of the most popular programming languages on the Internet especially among newbie programmers which, I think, has a direct effect on the volume of users asking questions about common error messages.

  • The dupes should be closed against an existing question. Counter Argument: I don't think this works well for the reasons I've already mentioned.

    Plus, I would much prefer to be directed to a reference rather than having to wade through the clutter of mediocre answers (and the attached comments, by experienced users, stating why one should not follow the advice in the answer). If you aren't going to answer the question directly, then give me a reference I can use. Don't make me try to figure out how someone else's question applies to my circumstances.

    Would I let you know if the other question failed to help? Probably not. I'd probably just visit the next link in Google.

  • Do you really expect this will stop users from posting dupes? Counter Argument: I'm not sure whether it will help in that regard or not. I think it will help some if made visible enough. But, I'm more interested in having a quality link to provide users with or close dupes against. The experienced users have to do more than just manage the dupes; they have to warn users against implementing the bad answers. If there was one question (or a short list of questions) that was considered the quality question to close against, I think this would make it easier to consistently, and quickly, close the dupes. Right now, many never get closed and the ones that do get closed are closed against different questions. If you follow the 'Possible Duplicate' links you often end up going in circles.

  • The format, with each answer only answering part of the question, is not how SO was designed to be used. Counter Argument: So what's the solution then? Do we create individual questions and answers?

    The problems I see with creating new individual questions and answers:

    • My understanding is that you can't use a title that already exists. So how do we give them effective titles?
    • What's to stop these from being closed as dupes?
    • What's to stop these from accumulating clutter and mediocre answers?

Tag Wikis:
I only learned about these today because of this post. Perhaps they should at least be explained in the FAQ. This does seem like the ideal place to put this type of information if it could be overhauled to serve the needs of the community as others have already aptly described. Has this been submitted as a feature request?

In Conclusion:
I realize that SO is designed as a Q&A site, but the goal is to be useful to its users. I think the main thing we should be asking ourselves is how to best reconcile these two purposes.


1: This is only my general impression. If someone has stats to support or disprove this theory, I'd appreciate it.

Not the answer you're looking for? Browse other questions tagged .