Re[2]: [PHP] session_start() || shell access problem......
| From: | Tom Rogers | Date: | Sun, 21 Sep 2003 13:41:30 +0000 |
| Subject: | Re[2]: [PHP] session_start() || shell access problem...... | ||
| References: | 1 2 3 4 5 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-163347@lists.php.net to get a copy of this message | ||
Hi,
Monday, September 22, 2003, 2:13:57 AM, you wrote:
CH> Hmmmm,
CH> Well, is there a way to pass params to file_to_be_executed in command line?
CH> For example:
CH> <?
CH> $my_param = 'my_include_path';
CH> $text =
usr/local/bin/php /path/to/my/php/page.php;
?>>
CH> Somehow I need $my_param to be passed to page.php (the file to be processed
CH> in command line).
CH> Any ideas?
CH> --Noah
CH> "Marek Kilimajer" <kilimajer@webglobe.sk> wrote in message
CH> news:3F6D7638.6050400@webglobe.sk...
>> Sessions don't work on command line and that is how you run your script
>> - from command line.
>>
>> CF High wrote:
>> > Hey Robert.
>> >
>> > Indeed, hard to find the problem.
>> >
>> > I don't believe it's a whitespace issue, or even a "Headers sent
>> > issue",
>> > despite the fact that I'm receiving that error.
>> >
>> > Check it out:
>> >
>> > test.php contains just one line: <?$text = `usr/local/bin/php
>> > /path/to/my/php/test1.php`;?>
>> >
>> > test1.php, the file to be executed, contains just one line:
>> > <?session_start();?>
>> >
>> > There are no line breaks, spaces, etc.
>> >
>> > Still get "Headers already sent".
>> >
>> > Pretty strange, right?
>> >
>> > Correct me if I'm wrong, but I think the problem may be related to the
CH> fact
>> > that when files are executed from the command line, php now looks for
>> > include_paths, session_paths, etc. relative to the server root; not the
CH> site
>> > root.
>> >
>> > I can think of no other reason why include paths, starting sessions, and
CH> so
>> > on, return errors from the command line but ork perfectly fine when run
CH> in a
>> > browser.....
>> >
>> > Feel free to clue me in -- I know didly about shell access issues.
>> >
>> > --Noah
>> >
>> >
>> > "Robert Cummings" <robert@interjinn.com> wrote in message
>> > news:1064091763.19204.1.camel@blobule.suds...
>> >
>> >>On Sat, 2003-09-20 at 15:46, CF High wrote:
>> >>
>> >>>Hey all.
>> >>>
>> >>>I'm running a script from the command-line php interpreter as follows:
>> >>>(thanks to D. Souza for lead)
>> >>>
>> >>>$text = usr/local/bin/php
>> >>>/path/to/my/php/page.php;
>> >>>
>> >>>within the read file I want to enable sessions, so I session_start() at
>> >
>> > the
>> >
>> >>>top of the page:
>> >>>
>> >>><?
>> >>>session_start();
>> >>>?>
>> >>><?
>> >>> code to execute here.......
>> >>>?>
>> >>>
>> >>>Regardless of how I mess around with placement of session_start(), I
CH> get
>> >
>> > a
>> >
>> >>>"Headers already sent".
>> >>>
>> >>>Why? Nothing has been output to the browser within the read file!
>> >>>Furthermore, if I create a test page with just:
>> >>>
>> >>><?$text = usr/local/bin/php
>> >>>/path/to/my/php/page.php;?>
>> >>>
>> >>>Still receive "Headers already sent".
>> >>>
>> >>>My eyes are completely fried -- anyone feel like saving my vision?
>> >>
>> >>This often is difficult to detect when there's is implicit output
>> >>outside of the <? tag. Check the top of the included file or start php
>> >>script and see if there is any whitespace or newlines preceding the tag.
>> >>
>> >>HTH,
>> >>Rob.
>> >>--
>> >>.------------------------------------------------------------.
>> >>| InterJinn Application Framework -
>> >>http://www.interjinn.com |
>> >>:------------------------------------------------------------:
>> >>| An application and templating framework for PHP. Boasting |
>> >>| a powerful, scalable system for accessing system services |
>> >>| such as forms, properties, sessions, and caches. InterJinn |
>> >>| also provides an extremely flexible architecture for |
>> >>| creating re-usable components quickly and easily. |
>> >>`------------------------------------------------------------'
>> >
>> >
Try this
<?php
$args = '"hello world"';
$text = /usr/bin/php /usr/local/apache/htdocs/in.php $args;
echo $text;
?>
in.php contains:
<?php
echo '<pre>';
phpinfo(32);
echo '</pre>';
echo $_SERVER['argv'][1];
?>
That should do what you want if I understand the problem :)
--
regards,
Tom