php failing
Kevin Kinsey
kdk at daleco.biz
Wed Sep 19 12:56:45 PDT 2007
orders at fixer.com wrote:
Answer: Because it makes conversations flow in a nonsensical order.
Question: Why is top-posting wrong?
>> orders at fixer.com wrote:
<snip>
>>> I have been using apache, PHP and mysql for years with no problems.
>>> I just suffered a computer crash and my backup failed, so I had to
>>> reinstall. However, now I have a problem. I tried "pkg_add -r php5"
>>> and the latest PHP5 from www.php.net(www.php.net used to work, but
>>> that was before php5 existed).
> Kevin Kinsey wrote:
>> The first thing to note is that PHP can install three different
>> executables:
>> a CLI (command line interface) executable at /usr/local/bin/php, a CGI
>> (common gateway interface) at /usr/local/bin/php-cgi, and an Apache SO
>> (shared object) at /usr/local/libexec/apache/libphp5.so.
>>
>> So, first question, which of the above files exist? When you run
>> `php -i` in a shell, you are accessing the CLI, most likely (running
>> `which php` should tell you), and IIRC the package doesn't build
>> the Apache SO, so the problem may be in your Apache configuration
>> (is it configured to properly use the CGI executable?), or the
>> complete lack of a CGI in the location shown above.
orders at fixer.com wrote:
>>> If I access phpinfo() with my browser, it fails. When I try to
>>> run a PHP script, I get the error:
>>>
>>> >cgi error:
>>> > The following CGI application misbehaved by not
>>> > returning a complete set of HTTP headers.
>>> > The headers it did not return are:
>>> >
>>> > This error message means PHP failed to output anything at all. To
>>> > get to a sensible error message, change to the PHP executable >
>>> directory and run PHP -i. If php has any problems running, then a
>>> suitable error message will be displayed which will give a clue
>>> as to what needs to be done next. If you get a screen full of HTML codes,
>>> then PHP is working.
>>> >
>>> > Once PHP is working on the command line, try accessing the script
>>> once again. If it still fails then it could be one of the following:
>>> >
>>> > *The file permissions on your script, php.ini, or any extensions
>>> > you are trying to load are such that the anonymous internet user
>>> > ISUR_<machinename> cannot access them.
Kevin Kinsey wrote:
>> This might indicate that you have the CGI *only*.
>>
>> Verify that the Apache daemon user (www? nobody?) has access to the files
>> as mentioned above. And, likely, the same user should be able to run the
>> CGI....
orders at fixer.com wrote:
>>> > *The script file does not exit (or possible isn't where you think
>>> > it is relative to your web root directory). If the script does
>>> not
>>> > exit then the server will return a 404 error instead.
>>> > I didn't get the 404 error, so I think my script exits. When I >
>>> typed PHP -i, I received 4 pages of HTML code. This means PHP
>>> works. I tried > phpinfo() from my browser and still nothing. I
>>> have been fighting this for 3 weeks and
>>> > reinstalled many times. I tried this on FreeBSD-5.4, 6.1 and
>>> 6.2. All > three operating systems produce the same result. > I
>>> found out that apache runs in a jail and uses chroot. I added the >
>>> directory it says and still nothing.
>>>
>>> This is where I get stuck. Thanks in advance for any help.
Kevin Kinsey wrote:
>> The apache log (maybe /var/log/httpd.error.log?) should have some
>> information, perhaps in addition to what you have seen. I don't know
>> much about running Apache in a jail; you'll need to keep in contact
>> with the list and hope that someone with a clue notices your problem.
>>
>> Since the question is really about PHP instead of FreeBSD, you might
>> try some PHP forums/mail lists as well.
orders at fixer.com wrote:
> I am using PHP/Mysql to manage my business database. I have a database
> that contains my orders. I use my browser to print these orders. I
> think it's the Apache SO version. /usr/local/bin/php and
> /usr/local/libexec/apache/libphp5.so are there. I just reinstalled it
> twice today with the exact same result. I reinstalled according to the
> tip another guy sent me. I can use the php CLI, thats how I get 4
> pages of HTML code. But 'phpinfo()' still doesn't display in my
> browser. Which files should i check permissions on to see if the groups
> 'www' and 'nobody'?
> I did check the '/var/log/httpd.error.log'. It says:
>
> > Wed Sep 19 10:42:56 2007] [notice] Apache/1.3.37 (Unix) PHP/5.1.6
> with Suhosin-patch configured -- resuming normal operations
> > [Wed Sep 19 10:42:56 2007] [notice] Accept mutex: flock (Default: flock)
> > [Wed Sep 19 10:43:56 2007] [error] [client 127.0.0.1] File does not
> exist: /usr/
> > local/www/data/favicon.ico
>
> I did install the file 'favicon.ico' and that solved the problem, the
> '/var/log/httpd.error.log' is now OK.
> I already tried sending this problem to the PHP forms without any luck.
Please carbon-copy the freebsd-questions list to make sure your
mail isn't lost here.
If Apache is running PHP as an SO, they you should have something like
the following in /usr/local/etc/apache/httpd.conf:
LoadModule php5_module libexec/apache/libphp5.so
AddModule mod_php5.c
AddType application/x-httpd-php .php
If these aren't present, then Apache doesn't serve PHP documents
properly.
Kevin Kinsey
--
Being ugly isn't illegal. Yet.
More information about the freebsd-questions
mailing list