php-install Digest 22 Oct 2001 06:50:54 -0000 Issue 516
Topics (messages 4683 through 4687): Re: PHP/CGI problem: #!/path/php at top of CGI script appears in output 4683 by: Philippe 4684 by: Stefan Siefert Re: [PHP] PHP/CGI problem: #!/path/php at top of CGI script appears in output 4685 by: Brian Mauter 4686 by: Dave Goodrich Need help compiling! 4687 by: Dariush Administrivia: To subscribe to the digest, e-mail: [EMAIL PROTECTED] To unsubscribe from the digest, e-mail: [EMAIL PROTECTED] To post to the list, e-mail: [EMAIL PROTECTED] ----------------------------------------------------------------------
Hi, Thanks Stefan for your answer First, I'll explain why I want to use php in cgi I'ts a simple reason, some users want to use php without safemode (which is required with Apache due to safety problems). So I want to use php in cgi mode with suexec. I've tryed your solution, it works in all non-cgi directory But it doesn't work in cgi directory with suexec or not If I put #/usr/local/bin/php in the script, the script work but we can see #/usr/local/bin/php at the top. If I don't put it, there is an 500 error (Internal Server Error) In error_log, we can see these lines [Sun Oct 21 17:30:10 2001] [error] (8)Exec format error: exec of /home/webbourse/cgi-bin/php.cphp failed [Sun Oct 21 17:30:10 2001] [error] [client 212.103.7.98] Premature end of script headers: /home/webbourse/cgi-bin/php.cphp Someone has an idea ???? Thanks Philippe Stefan Siefert writes: > Hi @all.. > > I'm not sure if this can fix (or explain) your problem (cause I didn't tried > it in lack of time) but theoretical it could be :). > > I think you only need the #!/usr/local/bin/php if you would like to run > scripts from the bash, or as a "real" cgi. But I think, there could be > another solution .. compile your php as cgi like you did and add these lines > in your httpd.conf > > ScriptAlias /php/ "/usr/local/bin/" > > AddType application/x-httpd-php .php .phtml .cgi > > Action application/x-httpd-php "/php/php" > > This should also launch the cgi - version of php, but doesn't requires the > #! line in the scripts. I'm not sure, but it should work. > > Hope this helps you, > > Stefan Siefert > > > > ----- Original Message ----- > From: Dave Goodrich <[EMAIL PROTECTED]> > To: Philippe <[EMAIL PROTECTED]> > Cc: php-general <[EMAIL PROTECTED]>; php-install > <[EMAIL PROTECTED]> > Sent: Saturday, October 20, 2001 6:05 PM > Subject: [PHP-INST] Re: [PHP] PHP/CGI problem: #!/path/php at top of CGI > script appears in output > > >> It's not you. I just built a bare cgi version of php, nothing but >> './configure' and got the same result. >> >> I used this simple script to be sure I was in fact running the cgi binary >> and it showed I was. >> >> info.cgi >> #!/usr/local/bin/php >> <?php >> phpinfo(); >> ?> >> >> I got the correct info page, but with the #!/usr/local/bin/php at the top >> as you stated. Odd, but I've never used the cgi version so other than >> confirming your problem I am afraid I'm no help. >> >> DAve >> >> On Sat, Oct 20, 2001 at 03:31:06PM +0000, Philippe wrote: >> > Hi, >> > I'll synthetize the problem with the response I have givven to Curt. >> > >> > I've FreeBSD 4.2/Apache 1.3.9/PHP 4.0.6 >> > I've installed PHP in Apache, it works very well >> > I need to have too PHP 4.0.6 in CGI mode (With Suexec but I don't think > it's >> > >> > the problem) but I've a problem. >> > >> > In CGI mode, the path of PHP is always written at the top of the result >> > >> > I'll take for example this script which is in the cgi-bin with the > execute >> > mod (755), the extension is .cgi : >> > >> > ---- >> > #!/usr/local/bin/php >> > <? >> > print "Hello World"; >> > ?> >> > ---- >> > >> > When the file is called by the browser, the result is : >> > ---- >> > #!/usr/local/bin/php >> > Hello World >> > ---- >> > >> > Does someone know the problem and the solution ? >> > Have I forgotten something ? >> > >> > I think that's a misconfiguration in PHP >> > >> > Thanks for your help >> > >> > Philippe >> > >> > >> > -- >> > PHP General Mailing List (http://www.php.net/) >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > To contact the list administrators, e-mail: [EMAIL PROTECTED] >> > >> >> -- >> My other computer is your Windows machine... >> >> >> >> -- >> PHP Install Mailing List (http://www.php.net/) >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> To contact the list administrators, e-mail: [EMAIL PROTECTED] >> >> >
Hi, well I do understand your needing. First a question. What are your compile options, e.g. your configure call? Do you use --enable-discard-path ? If not, try this. You need this option to run Phpscripts from cgi-bin folders!!! Greetings, Stefan Siefert -----Ursprüngliche Nachricht----- Von: Philippe [mailto:[EMAIL PROTECTED]] Gesendet: Sonntag, 21. Oktober 2001 17:53 An: Stefan Siefert; php-general; php-install Betreff: Re: PHP/CGI problem: #!/path/php at top of CGI script appears in output Hi, Thanks Stefan for your answer First, I'll explain why I want to use php in cgi I'ts a simple reason, some users want to use php without safemode (which is required with Apache due to safety problems). So I want to use php in cgi mode with suexec. I've tryed your solution, it works in all non-cgi directory But it doesn't work in cgi directory with suexec or not If I put #/usr/local/bin/php in the script, the script work but we can see #/usr/local/bin/php at the top. If I don't put it, there is an 500 error (Internal Server Error) In error_log, we can see these lines [Sun Oct 21 17:30:10 2001] [error] (8)Exec format error: exec of /home/webbourse/cgi-bin/php.cphp failed [Sun Oct 21 17:30:10 2001] [error] [client 212.103.7.98] Premature end of script headers: /home/webbourse/cgi-bin/php.cphp Someone has an idea ???? Thanks Philippe Stefan Siefert writes: > Hi @all.. > > I'm not sure if this can fix (or explain) your problem (cause I didn't tried > it in lack of time) but theoretical it could be :). > > I think you only need the #!/usr/local/bin/php if you would like to run > scripts from the bash, or as a "real" cgi. But I think, there could be > another solution .. compile your php as cgi like you did and add these lines > in your httpd.conf > > ScriptAlias /php/ "/usr/local/bin/" > > AddType application/x-httpd-php .php .phtml .cgi > > Action application/x-httpd-php "/php/php" > > This should also launch the cgi - version of php, but doesn't requires the > #! line in the scripts. I'm not sure, but it should work. > > Hope this helps you, > > Stefan Siefert > > > > ----- Original Message ----- > From: Dave Goodrich <[EMAIL PROTECTED]> > To: Philippe <[EMAIL PROTECTED]> > Cc: php-general <[EMAIL PROTECTED]>; php-install > <[EMAIL PROTECTED]> > Sent: Saturday, October 20, 2001 6:05 PM > Subject: [PHP-INST] Re: [PHP] PHP/CGI problem: #!/path/php at top of CGI > script appears in output > > >> It's not you. I just built a bare cgi version of php, nothing but >> './configure' and got the same result. >> >> I used this simple script to be sure I was in fact running the cgi binary >> and it showed I was. >> >> info.cgi >> #!/usr/local/bin/php >> <?php >> phpinfo(); >> ?> >> >> I got the correct info page, but with the #!/usr/local/bin/php at the top >> as you stated. Odd, but I've never used the cgi version so other than >> confirming your problem I am afraid I'm no help. >> >> DAve >> >> On Sat, Oct 20, 2001 at 03:31:06PM +0000, Philippe wrote: >> > Hi, >> > I'll synthetize the problem with the response I have givven to Curt. >> > >> > I've FreeBSD 4.2/Apache 1.3.9/PHP 4.0.6 >> > I've installed PHP in Apache, it works very well >> > I need to have too PHP 4.0.6 in CGI mode (With Suexec but I don't think > it's >> > >> > the problem) but I've a problem. >> > >> > In CGI mode, the path of PHP is always written at the top of the result >> > >> > I'll take for example this script which is in the cgi-bin with the > execute >> > mod (755), the extension is .cgi : >> > >> > ---- >> > #!/usr/local/bin/php >> > <? >> > print "Hello World"; >> > ?> >> > ---- >> > >> > When the file is called by the browser, the result is : >> > ---- >> > #!/usr/local/bin/php >> > Hello World >> > ---- >> > >> > Does someone know the problem and the solution ? >> > Have I forgotten something ? >> > >> > I think that's a misconfiguration in PHP >> > >> > Thanks for your help >> > >> > Philippe >> > >> > >> > -- >> > PHP General Mailing List (http://www.php.net/) >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > To contact the list administrators, e-mail: [EMAIL PROTECTED] >> > >> >> -- >> My other computer is your Windows machine... >> >> >> >> -- >> PHP Install Mailing List (http://www.php.net/) >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> To contact the list administrators, e-mail: [EMAIL PROTECTED] >> >> >
Seems to me that the problems is that you have two instances of PHP going at the same time. The first is the one compiled into Apache and the second is the cgi module. My bet is that the PHP compiled into Apache is catching it first (maybe you told all .cgi files to be parsed by the PHP parser?). In that case, the first line would be treated as HTML output, not PHP. This would be the reason you get that line in all of your scripts. Here's a test: remove that line from your file and then try it. If it continues to work, I would seriously suspect that the built-in Apache-PHP parser is handling your .cgi files. -Brian -----Original Message----- From: Dave Goodrich [mailto:[EMAIL PROTECTED]] * snip info.cgi #!/usr/local/bin/php <?php phpinfo(); ?>
Nope it fails when he removes the line. It fails on me as well, I tried it. Also note I did say that the ouput of phpinfo() was correct. The output showed the page had been handled by the php cgi binary, not the module. The module has a large config line and several extensions configured in, the cgi binary was compiled with nothing but "./configure" and the info page confirms this. So it seems Apache is handling everything correct, the page gets passed to the proper php binary, and the result is correctly served back to the client. DAve On Sun, Oct 21, 2001 at 12:18:07PM -0500, Brian Mauter wrote: > Seems to me that the problems is that you have two instances of PHP going at > the same time. The first is the one compiled into Apache and the second is > the cgi module. My bet is that the PHP compiled into Apache is catching it > first (maybe you told all .cgi files to be parsed by the PHP parser?). In > that case, the first line would be treated as HTML output, not PHP. This > would be the reason you get that line in all of your scripts. Here's a > test: remove that line from your file and then try it. If it continues to > work, I would seriously suspect that the built-in Apache-PHP parser is > handling your .cgi files. > > -Brian > > -----Original Message----- > From: Dave Goodrich [mailto:[EMAIL PROTECTED]] > > * snip > info.cgi > #!/usr/local/bin/php > <?php > phpinfo(); > ?> > -- My other computer is your Windows machine...
G'Day, I'm trying to compile PHP4 on Solaris 8(sparc), I had troubles getting it to even configure on the base system, so I added a bunch of Packages and and modified the $PATH and $LD_RUN_PATH variables, which got me a little further(it creates make files, et al) but to no avail. Any ideas would be very much appreciated! Cheers, Dariush Bronowicki Screamer Media details follow: $PATH - '/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sparc-sun-solaris2.8/bin' $LD_RUN_PATH - '/usr/lib:/usr/local/lib:/usr/local/ssl/lib:/usr/local/sparc-sun-solaris2.8/ include:/usr/local/include/g++-3:/lib:/usr/local/sparc-sun-solaris2.8/lib' start 'debug.log' ------------------------------------------- CONFIGURE: './configure' '--with-mysql=/usr/local/mysql' '--with-apxs=/usr/apache/bin/apxs' '--enable-track-vars' '--enable-exif' '--enable-ftp' CC: gcc CFLAGS: -g -O2 CPPFLAGS: -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -DEAPI -DMOD_PER L -DUSE_EXPAT -DSUPPORT_UTF8 CXX: CXXFLAGS: INCLUDES: -I/usr/apache/include -I$(top_builddir)/Zend -I/usr/local/mysq l/include/mysql LDFLAGS: -L/usr/local/lib -R/usr/ucblib -L/usr/ucblib -R/usr/local/lib/gc c-lib/sparc-sun-solaris2.8/3.0.1 -L/usr/local/lib/gcc-lib/sparc-sun-solaris2 .8/3.0.1 -R/usr/local/mysql/lib/mysql -L/usr/local/mysql/lib/mysql LIBS: -lmysqlclient -lgcc DLIBS: SAPI: apache PHP_RPATHS: /usr/ucblib /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.1 /usr/local/mysql/lib/mysql uname -a: SunOS **domain removed* 5.8 Generic_108528-07 sun4u sparc SUNW,UltraAX-i2 gcc -o conftest -g -O2 -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -DEAPI -DMOD _PERL -DUSE_EXPAT -DSUPPORT_UTF8 -L/usr/local/lib -R/usr/ucblib -L/usr/ucbli b -R/usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.1 -L/usr/local/lib/gcc-l ib/sparc-sun-solaris2.8/3.0.1 -R/usr/local/mysql/lib/mysql -L/usr/local/mysq l/lib/mysql conftest.c -lmysqlclient -lgcc 1>&5 conftest.c: In function `int main()': conftest.c:3: `exit' undeclared (first use this function) conftest.c:3: (Each undeclared identifier is reported only once for each function it appears in.) ----------------- end 'debug.log'