php-general Digest 29 Mar 2011 17:06:12 -0000 Issue 7249
php-general Digest 29 Mar 2011 17:06:12 - Issue 7249 Topics (messages 312112 through 312122): Re: xinetd vs php socket server 312112 by: Bostjan Skufca 312116 by: Curtis Maurand 312119 by: Nathan Nobbe Resizing an image 312113 by: Andre Polykanine 312115 by: Donovan Brooke Path question 312114 by: Jack 312121 by: Paul M Foster 312122 by: Al Re: Permission Denied - Help Requested 312117 by: Ethan Rosenberg 312118 by: Adam Richardson 312120 by: Ethan Rosenberg Administrivia: To subscribe to the digest, e-mail: php-general-digest-subscr...@lists.php.net To unsubscribe from the digest, e-mail: php-general-digest-unsubscr...@lists.php.net To post to the list, e-mail: php-gene...@lists.php.net -- ---BeginMessage--- It works pretty well until its under attack by the spammers. Can you elaborate/explain further? b. On 29 March 2011 01:14, Curtis Maurand cur...@maurand.com wrote: Nathan Nobbe wrote: On Mon, Mar 28, 2011 at 3:34 PM, Bostjan Skufca bost...@a2o.si wrote: If you need high performance you probably already know that it will be very expensive CPU wise if workers are spawned on each request. If you don't, I would not bother with daemon and just use xinetd. You can always add daemon-handling stuff later on. Well I do hope you find a good working solution with as little inconvenience as possible, b. hmm, wouldn't both the solutions most likely be forking? php daemon would fork since threading isn't supported, and xinetd, probly best to have it fork for the same reason apache is typically configured to fork. right? Speak for yourself. I've always configured my systems to thread. Since IBM rewrote the threading library several years back (NPTL), Theading works. I use the threading version of apache and threading is enabled in PHP. It works pretty well until its under attack by the spammers. --Curtis ---End Message--- ---BeginMessage--- I have a machine with several websites one of which is quite busy this time of year. I have another that had its joomla comments on and open and the spammers found it. They managed to get 700,000 comments into the system before we caught it, but the traffic and strain on the MySQL server and the webserver (PHP) while it was going on brought the server to its knees. I've put some iptables rules in to block the attacks and things are back to normal. The server (A vmware VM w/ 2 CPU and 2 GB of RAM) never crashed, but it certainly was on its knees. The distribution is Gentoo 10.1. My only other problem is PHP hanging on MySQL returning an emtpy set.(mysql_num_rows = 0). That 's a whole other issue and off of this topic. --C Bostjan Skufca wrote: It works pretty well until its under attack by the spammers. Can you elaborate/explain further? b. On 29 March 2011 01:14, Curtis Maurand cur...@maurand.com wrote: Nathan Nobbe wrote: On Mon, Mar 28, 2011 at 3:34 PM, Bostjan Skufca bost...@a2o.si wrote: If you need high performance you probably already know that it will be very expensive CPU wise if workers are spawned on each request. If you don't, I would not bother with daemon and just use xinetd. You can always add daemon-handling stuff later on. Well I do hope you find a good working solution with as little inconvenience as possible, b. hmm, wouldn't both the solutions most likely be forking? php daemon would fork since threading isn't supported, and xinetd, probly best to have it fork for the same reason apache is typically configured to fork. right? Speak for yourself. I've always configured my systems to thread. Since IBM rewrote the threading library several years back (NPTL), Theading works. I use the threading version of apache and threading is enabled in PHP. It works pretty well until its under attack by the spammers. --Curtis ---End Message--- ---BeginMessage--- On Mon, Mar 28, 2011 at 5:14 PM, Curtis Maurand cur...@maurand.com wrote: Nathan Nobbe wrote: On Mon, Mar 28, 2011 at 3:34 PM, Bostjan Skufca bost...@a2o.si wrote: If you need high performance you probably already know that it will be very expensive CPU wise if workers are spawned on each request. If you don't, I would not bother with daemon and just use xinetd. You can always add daemon-handling stuff later on. Well I do hope you find a good working solution with as little inconvenience as possible, b. hmm, wouldn't both the solutions most likely be forking? php daemon would fork since threading isn't supported, and xinetd, probly best to have it fork for the same reason apache is typically configured to fork. right? Speak for yourself. I've always configured my systems to thread. Since IBM rewrote the threading library several years back (NPTL),
[PHP] Re: Path question
On 3/28/2011 9:18 PM, Jack wrote: Hello All, Is there a smarter way to do includes by setting up a path or something where I don't have to include /home/domain.com/includes/include_file.php Apparently my path is as shown above, but I would prefer to just put in /includes/include_file.php Thanks! Jack Here's how I do it. For every application, I have a config file with all my common assignments, including common paths, e.g., define('EDITPAGE_ROOT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/editPageSR/'); define('EDITPAGE_IMAGES_DIR', EDITPAGE_ROOT_DIR . 'images/'); define('EDITPAGE_DATA_DIR', PAGE_ROOT_DIR . '/editPageFiles/'); So, in your case, I'd have define('INCLUDE_FILE', $_SERVER['DOCUMENT_ROOT'] . /includes /include_file.php); So all I need is to use INCLUDE_FILE -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Permission Denied - Help Requested
On Mon, Mar 28, 2011 at 11:43 PM, Ethan Rosenberg eth...@earthlink.netwrote: At 11:14 PM 3/28/2011, Adam Richardson wrote: On Mon, Mar 28, 2011 at 11:03 PM, Ethan Rosenberg mailto: eth...@earthlink.neteth...@earthlink.net wrote: At 01:32 AM 3/28/2011, Hans Åhlin wrote: Do you have SELinux installed? 2011/3/28 Ethan Rosenberg mailto:eth...@earthlink.net eth...@earthlink.net: Dear List - Thanks for all your help in the past.  Here is another one... I am getting a Permission Denied message when I try to run a PHP script.  I just changed the mode on the directory and the files to 777.  This problem arose when I changed the permissions.  I thought I was solving a problem, because I could not open a file for writing.  I was not receiving error messages, but no file was created. Help and advice, please. Ethan Rosenberg **  Hans Åhlin   Tel: +46761488019   icq: 275232967   http://www.kronan-net.com/http://www.kronan-net.com/   irc://http://irc.freenode.net:6667irc.freenode.net:6667 - TheCoin ** Hans - Sorry, I did not include my signature, which includes all the requested information. Here it is Ethan == MySQL 5.1 PHP 5.3.3-6 Linux [Debian (sid)] The problem persists. I cannot write to a file from PHP. Any more suggestions? Thanks. Ethan Hi Ethan, Are you using suPHP or suExec? I believe the server chokes on 777 permissions in those cases. Have you checked the permissions in the command line (sorry for the basic question, but just making sure I know what you've already done?) Also, can we see some of the code you're using to handle the file processing? Thanks, Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.comhttp://nephtaliproject.com + Adam - Thanks. 1] Pardon my ignorance but I do not understand this - Are you using suPHP or suExec? suPHP and suExec are two modules that allow PHP to run with the permissions of the user, making it easy to write files to disk. However, suPHP (and I believe suExec, but I can't remember for sure) does not like 777 permissions. 2] I changed the permissions to 755 and the Permission Denied message went away. Check! 3] Have you checked the permissions in the command line? Yes Check! 4] Here are some code snippets: $fptr1 = fopen(chessboard, r+); //this works $fptr2 = fopen('chessboard', 'w'); //this deletes the file, as it should for($i = 0; $i 8; $i++) { for ($j = 0; $j 8; $j++) fprinf($fptr2, %s , $results[$i][$j]); fprinf($fptr2, \n); } //this never writes, so I am left with an empty file Can you try a simplified form that checks for success along the way? How about something like the code below to see how far it gets (I haven't tested, but it should be close): ?php // let's make sure you see the E_WARNING errors if present for file functions error_reporting(-1); // set var for later $cost = 120.89; if (!($fp = fopen(test.txt, 'w'))) { echo Can't open or create file!; } else if (!($len = fprintf($fp, In the year 3000, a Coke will cost %01.2f, with tax., $cost))) { echo Can't write to file!; } else if (!(fclose($fp))) { echo Can't properly close file!; } ? What do you see if you run this? Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com
Re: [PHP] Path question
On 3/28/11 8:18 PM, Jack wrote: Hello All, Is there a smarter way to do includes by setting up a path or something where I don't have to include /home/domain.com/includes/include_file.php Apparently my path is as shown above, but I would prefer to just put in /includes/include_file.php I wrote about this a long time ago ... perhaps it might help: http://www.dantescode.com/2007/10/10/evolution-of-php-coder-naming-classes/ Talks about putting your functions into classes and using the autoloader to avoid putting include statements in your code. Might not help if you are loading content which is not just PHP functions/code, but if you haven't evolved this far yet, the read might help you out. -- Dante -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Permission Denied - Help Requested
At 01:40 PM 3/29/2011, Adam Richardson wrote: On Mon, Mar 28, 2011 at 11:43 PM, Ethan Rosenberg eth...@earthlink.netwrote: At 11:14 PM 3/28/2011, Adam Richardson wrote: On Mon, Mar 28, 2011 at 11:03 PM, Ethan Rosenberg mailto: eth...@earthlink.neteth...@earthlink.net wrote: At 01:32 AM 3/28/2011, Hans à hlin wrote: Do you have SELinux installed? 2011/3/28 Ethan Rosenberg mailto:eth...@earthlink.net eth...@earthlink.net: Dear List - Thanks for all your help in the past.  Here is another one... I am getting a Permission Denied message when I try to run a PHP script.  I just changed the mode on the directory and the files to 777.  This problem arose when I changed the permissions.  I thought I was solving a problem, because I could not open a file for writing.  I was not receiving error messages, but no file was created. Help and advice, please. Ethan Rosenberg **  Hans à hlin   Tel: +46761488019   icq: 275232967   http://www.kronan-net.com/http://www.kronan-net.com/   irc://http://irc.freenode.net:6667irc.freenode.net:6667 - TheCoin ** Hans - Sorry, I did not include my signature, which includes all the requested information. Here it is Ethan == MySQL 5.1 PHP 5.3.3-6 Linux [Debian (sid)] The problem persists. I cannot write to a file from PHP. Any more suggestions? Thanks. Ethan Hi Ethan, Are you using suPHP or suExec? I believe the server chokes on 777 permissions in those cases. Have you checked the permissions in the command line (sorry for the basic question, but just making sure I know what you've already done?) Also, can we see some of the code you're using to handle the file processing? Thanks, Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.comhttp://nephtaliproject.com + Adam - Thanks. 1] Pardon my ignorance but I do not understand this - Are you using suPHP or suExec? suPHP and suExec are two modules that allow PHP to run with the permissions of the user, making it easy to write files to disk. However, suPHP (and I believe suExec, but I can't remember for sure) does not like 777 permissions. 2] I changed the permissions to 755 and the Permission Denied message went away. Check! 3] Have you checked the permissions in the command line? Yes Check! 4] Here are some code snippets: $fptr1 = fopen(chessboard, r+); //this works $fptr2 = fopen('chessboard', 'w'); //this deletes the file, as it should for($i = 0; $i 8; $i++) { for ($j = 0; $j 8; $j++) fprinf($fptr2, %s , $results[$i][$j]); fprinf($fptr2, \n); } //this never writes, so I am left with an empty file Can you try a simplified form that checks for success along the way? How about something like the code below to see how far it gets (I haven't tested, but it should be close): ?php // let's make sure you see the E_WARNING errors if present for file functions error_reporting(-1); // set var for later $cost = 120.89; if (!($fp = fopen(test.txt, 'w'))) { echo Can't open or create file!; } else if (!($len = fprintf($fp, In the year 3000, a Coke will cost %01.2f, with tax., $cost))) { echo Can't write to file!; } else if (!(fclose($fp))) { echo Can't properly close file!; } ? What do you see if you run this? Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com +++ Thanks. What do you see if you run this? Can't open or create file! Ethan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Permission Denied - Help Requested
On 3/29/2011 3:06 PM, Ethan Rosenberg wrote: At 01:40 PM 3/29/2011, Adam Richardson wrote: On Mon, Mar 28, 2011 at 11:43 PM, Ethan Rosenberg eth...@earthlink.netwrote: At 11:14 PM 3/28/2011, Adam Richardson wrote: On Mon, Mar 28, 2011 at 11:03 PM, Ethan Rosenberg mailto: eth...@earthlink.neteth...@earthlink.net wrote: At 01:32 AM 3/28/2011, Hans �hlin wrote: Do you have SELinux installed? 2011/3/28 Ethan Rosenberg mailto:eth...@earthlink.net eth...@earthlink.net: Dear List - Thanks for all your help in the past.  Here is another one... I am getting a Permission Denied message when I try to run a PHP script.  I just changed the mode on the directory and the files to 777.  This problem arose when I changed the permissions.  I thought I was solving a problem, because I could not open a file for writing.  I was not receiving error messages, but no file was created. Help and advice, please. Ethan Rosenberg **  Hans �hlin   Tel: +46761488019   icq: 275232967   http://www.kronan-net.com/http://www.kronan-net.com/   irc://http://irc.freenode.net:6667irc.freenode.net:6667 - TheCoin ** Hans - Sorry, I did not include my signature, which includes all the requested information. Here it is Ethan == MySQL 5.1 PHP 5.3.3-6 Linux [Debian (sid)] The problem persists. I cannot write to a file from PHP. Any more suggestions? Thanks. Ethan Hi Ethan, Are you using suPHP or suExec? I believe the server chokes on 777 permissions in those cases. Have you checked the permissions in the command line (sorry for the basic question, but just making sure I know what you've already done?) Also, can we see some of the code you're using to handle the file processing? Thanks, Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.comhttp://nephtaliproject.com + Adam - Thanks. 1] Pardon my ignorance but I do not understand this - Are you using suPHP or suExec? suPHP and suExec are two modules that allow PHP to run with the permissions of the user, making it easy to write files to disk. However, suPHP (and I believe suExec, but I can't remember for sure) does not like 777 permissions. 2] I changed the permissions to 755 and the Permission Denied message went away. Check! 3] Have you checked the permissions in the command line? Yes Check! 4] Here are some code snippets: $fptr1 = fopen(chessboard, r+); //this works $fptr2 = fopen('chessboard', 'w'); //this deletes the file, as it should for($i = 0; $i 8; $i++) { for ($j = 0; $j 8; $j++) fprinf($fptr2, %s , $results[$i][$j]); fprinf($fptr2, \n); } //this never writes, so I am left with an empty file Can you try a simplified form that checks for success along the way? How about something like the code below to see how far it gets (I haven't tested, but it should be close): ?php // let's make sure you see the E_WARNING errors if present for file functions error_reporting(-1); // set var for later $cost = 120.89; if (!($fp = fopen(test.txt, 'w'))) { echo Can't open or create file!; } else if (!($len = fprintf($fp, In the year 3000, a Coke will cost %01.2f, with tax., $cost))) { echo Can't write to file!; } else if (!(fclose($fp))) { echo Can't properly close file!; } ? What do you see if you run this? Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com +++ Thanks. What do you see if you run this? Can't open or create file! Ethan Run this. Make certain this script and test.txt are in the same dir. If not, use full path to your file. clearstatcache(); $array= stat(test.txt); print_r($array);//This will tell you what's going on. Incidentally, consider using file_get_contents() and file_put_contents() Much easier to use and faster. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Permission Denied - Help Requested
At 03:49 PM 3/29/2011, Al wrote: On 3/29/2011 3:06 PM, Ethan Rosenberg wrote: At 01:40 PM 3/29/2011, Adam Richardson wrote: On Mon, Mar 28, 2011 at 11:43 PM, Ethan Rosenberg eth...@earthlink.netwrote: At 11:14 PM 3/28/2011, Adam Richardson wrote: On Mon, Mar 28, 2011 at 11:03 PM, Ethan Rosenberg mailto: eth...@earthlink.neteth...@earthlink.net wrote: At 01:32 AM 3/28/2011, Hans Ã�hlin wrote: Do you have SELinux installed? 2011/3/28 Ethan Rosenberg mailto:eth...@earthlink.net eth...@earthlink.net: Dear List - Thanks for all your help in the past. à Here is another one... I am getting a Permission Denied message when I try to run a PHP script. à I just changed the mode on the directory and the files to 777. à This problem arose when I changed the permissions. à I thought I was solving a problem, because I could not open a file for writing. à I was not receiving error messages, but no file was created. Help and advice, please. Ethan Rosenberg ** à Hans Ã�hlin à à Tel: +46761488019 à à icq: 275232967 à à http://www.kronan-net.com/http://www.kronan-net.com/ à à irc://http://irc.freenode.net:6667irc.freenode.net:6667 - TheCoin ** Hans - Sorry, I did not include my signature, which includes all the requested information. Here it is Ethan == MySQL 5.1 PHP 5.3.3-6 Linux [Debian (sid)] The problem persists. I cannot write to a file from PHP. Any more suggestions? Thanks. Ethan Hi Ethan, Are you using suPHP or suExec? I believe the server chokes on 777 permissions in those cases. Have you checked the permissions in the command line (sorry for the basic question, but just making sure I know what you've already done?) Also, can we see some of the code you're using to handle the file processing? Thanks, Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.comhttp://nephtaliproject.com + Adam - Thanks. 1] Pardon my ignorance but I do not understand this - Are you using suPHP or suExec? suPHP and suExec are two modules that allow PHP to run with the permissions of the user, making it easy to write files to disk. However, suPHP (and I believe suExec, but I can't remember for sure) does not like 777 permissions. 2] I changed the permissions to 755 and the Permission Denied message went away. Check! 3] Have you checked the permissions in the command line? Yes Check! 4] Here are some code snippets: $fptr1 = fopen(chessboard, r+); //this works $fptr2 = fopen('chessboard', 'w'); //this deletes the file, as it should for($i = 0; $i 8; $i++) { for ($j = 0; $j 8; $j++) fprinf($fptr2, %s , $results[$i][$j]); fprinf($fptr2, \n); } //this never writes, so I am left with an empty file Can you try a simplified form that checks for success along the way? How about something like the code below to see how far it gets (I haven't tested, but it should be close): ?php // let's make sure you see the E_WARNING errors if present for file functions error_reporting(-1); // set var for later $cost = 120.89; if (!($fp = fopen(test.txt, 'w'))) { echo Can't open or create file!; } else if (!($len = fprintf($fp, In the year 3000, a Coke will cost %01.2f, with tax., $cost))) { echo Can't write to file!; } else if (!(fclose($fp))) { echo Can't properly close file!; } ? What do you see if you run this? Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com +++ Thanks. What do you see if you run this? Can't open or create file! Ethan Run this. Make certain this script and test.txt are in the same dir. If not, use full path to your file. clearstatcache(); $array= stat(test.txt); print_r($array);//This will tell you what's going on. Incidentally, consider using file_get_contents() and file_put_contents() Much easier to use and faster. + Al - Thanks. Here is what I ran and the output. I do not know enough PHP to interpret the output. !DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtdhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd; html body ?php error_reporting(1); clearstatcache(); $array= stat(test.txt); print_r($array);//This will tell you what's going on. // Output /* Array ( [0] = 2050 [1] = 876877 [2] = 33188 [3] = 1 [4] = 1001 [5] = 1001 [6] = 0 [7] = 30 [8] = 1301430589 [9] = 1301430589 [10] = 1301430589 [11] = 4096 [12] = 8 [dev] = 2050 [ino] = 876877 [mode] = 33188 [nlink] = 1 [uid] = 1001 [gid] = 1001 [rdev] = 0 [size] = 30 [atime] = 1301430589 [mtime] = 1301430589 [ctime] = 1301430589 [blksize] = 4096 [blocks] = 8 ) */ ? /body /html Help and advice, please. Ethan -- PHP General Mailing List (http://www.php.net/) To unsubscribe,
[PHP] [DEADLOCK - Code Igniter
*Anyone have a workaround for this issue? thanks ahead *I received this error message while activating a profile request. Clicked the Back button and tried approving the user again and then it worked. * ERROR Using code igniter with DX auth Description:* Deadlock found when trying to get lock; try restarting transaction Thanks, T
Re: [PHP] [DEADLOCK - Code Igniter
On Tue, Mar 29, 2011 at 16:38, Tristan sunnrun...@gmail.com wrote: *Anyone have a workaround for this issue? thanks ahead *I received this error message while activating a profile request. Clicked the Back button and tried approving the user again and then it worked. * ERROR Using code igniter with DX auth Description:* Deadlock found when trying to get lock; try restarting transaction That's anything but a PHP error. You're getting it on CodeIgniter (framework) code, and it's a MySQL error. Try either of those places, or the following link: http://links.parasane.net/f8xf -- /Daniel P. Brown Network Infrastructure Manager http://www.php.net/ -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] [DEADLOCK - Code Igniter
On Tue, 2011-03-29 at 14:38 -0600, Tristan wrote: *Anyone have a workaround for this issue? thanks ahead *I received this error message while activating a profile request. Clicked the Back button and tried approving the user again and then it worked. * ERROR Using code igniter with DX auth Description:* Deadlock found when trying to get lock; try restarting transaction Thanks, T Although CodeIgniter is written in PHP, that's really a question very specific to CI, and probably best asked on their forums. Going on the error message, it suggests that it can't modify the DB because something else has a lock on it. Maybe that will give you a clue? -- Thanks, Ash http://www.ashleysheridan.co.uk
RE: [PHP] Permission Denied - Help Requested
Have you checked ownership? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] Re: session variable problem
On 3/25/2011 12:09 PM, markb wrote: Very rusty with PHP. We moved our web site to a new hosting service (godaddy). PHP changed from 4x to 5.2.17. I can no longer change $_SESSION variables after the first use. First call to form - start session create variables Second call - can read variables, change existing ones (but they do not persist to next call) - cannot create new variable without an error Using $_SESSION['varname'] always session.auto_start off register_globals off session.use_only_cookies off I assume this is setting difference but I can't seem to find it. OK, here's is what is happening. I think my web hosting service is just really slow. I am storing the cookies in a unique directory. I create the directory when I start the session. It appears to take a long time for the directory creation to occur. The code is posted below. You can test it at this link: http://www.injection-moldings.com/upload%20test1.php 1. First time you call, the session starts, variables assigned to $_SESSION - but no session ID ([PHPSESSID]) yet 2. Reload the page, previous $_SESSION data lost but markdir value appears in cookie which is the hash value for the session path. Still no session ID 3. Reload - session ID appears [PHPSESSID] session data starts saving $_SESSION['test'] will increment Code: ?php ob_start(); //start output buffering // 10-2007 added java download text to first page if(!isset($_COOKIE['makedir']) ) { $unhashdir = startNewSession(); cfinitsession($_SESSION) ; $_SESSION['mystep'] = 0; $_SESSION['SUBMIT'] == 'auto'; $_POST = array(); setCookie('pagereload','0',0,'/'); $_COOKIE['pagereload'] = 0; $_SESSION['pagereload']=0; echo 'pstarting new session'; } else { $unhashdir = ''; if (!setupSession1($_COOKIE['makedir'],$unhashdir)) { die ('Could not start upload session'); exit; } $sess = session_start(); // echo 'psession running='.$sess; } /// hideme echo 'pre'; echo 'prequest uri'.$_SERVER['REQUEST_URI']; if ($_SERVER['REQUEST_METHOD']==POST) { $v = print_r($_POST,true); echo 'ppost:br'.$v; } $v = print_r($_COOKIE,true); echo 'pCookie:br'.$v; $v = print_r($_SESSION,true); echo 'pSession:br'.$v; echo '/pre'; /// end hideme if(isset($_COOKIE[PHPSESSID])) { echo 'p/psession started'; if (isset( $_SESSION['test']) ) { $_SESSION['test'] ++; } else { $_SESSION['test'] =0; } } else { echo pno session id; } exit; // **// // Functions AND Sub-routines /// // **// function setupSession1($mydir,$plaindir) { // change the session save directory to our new folder // $ mydir is encrypted // $plaindir is unencrypted if available $rt = false; if ($plaindir != '' ) { $mydir = $plaindir; } else { $plaindir = 'upload/'.cfFindHashDir($mydir) ; $mydir = $plaindir; } if ($mydir == '') { $rt = false; } else { $tempdir = $_SERVER['DOCUMENT_ROOT']./.$mydir.'/tmpZrtg/fe234/dafsksfe' ; if( !is_dir($tempdir) ) { Rmkdir($tempdir); } if( is_dir($tempdir) ){ ini_set( 'session.save_path',$tempdir ); ini_set('session.gc_maxlifetime',(60*3600*5.0)); //5.0 hours keep session alive X hours ini_set('session.gc_probability',1); //never empty the garbage??? ini_set('session.gc_divisor',1); } $rt = is_dir($tempdir); } return $rt; } function startNewSession() { $unhashdir = makeSaveDir(); // save SaveDir encrypted //log_error('New directory ='.$unhashdir); $newdir =cfSha256($unhashdir); //*^ //echo 'pNew session started!!:'.$sess. id:.session_id(); // $_SESSION['SaveDir'] = $newdir; ini_set(session.use_only_cookies, 0); //do not use cookies only ini_set('session.cookie_secure',true); ini_set('session.use_cookies',0); setupSession1('',$unhashdir);
Re: [PHP] Permission Denied - Help Requested
Thanks. What do you see if you run this? Can't open or create file! Ethan OK, If you're running PHP as an Apache module, by default it won't have permissions to write to the directory (this is by design to avoid security issues.) You can do something like the following: 1. Create a directory for writing files outside of your public directory (let's call it uploads.) 2. Change the group associated with the directory to Apache: sudo chgrp -R www-data /home/username/path/to/uploads 3. Change the permissions on the directory so the group has write permissions: sudo chmod -R 2775 /home/username/path/to/uploads 4. Then try the script again. See if that works. Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com
Re: [PHP] Permission Denied - Help Requested
At 05:33 PM 3/29/2011, Adam Richardson wrote: Thanks. What do you see if you run this? Can't open or create file! Ethan OK, If you're running PHP as an Apache module, by default it won't have permissions to write to the directory (this is by design to avoid security issues.) You can do something like the following: 1. Create a directory for writing files outside of your public directory (let's call it uploads.) 2. Change the group associated with the directory to Apache: sudo chgrp -R www-data /home/username/path/to/uploads 3. Change the permissions on the directory so the group has write permissions: sudo chmod -R 2775 /home/username/path/to/uploads 4. Then try the script again. See if that works. Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com Thanks - The directory is output_files, which is a subdirectory of /var/www I'm getting a message invalid owner on the command chown Apache output_files. Also with the -R option, and with apache as the owner, also with the chgrp. All these commands are run as root.. Help and advice please. Ethan -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Permission Denied - Help Requested
On Tue, Mar 29, 2011 at 8:21 PM, Ethan Rosenberg eth...@earthlink.netwrote: At 05:33 PM 3/29/2011, Adam Richardson wrote: Thanks. What do you see if you run this? Can't open or create file! Ethan OK, If you're running PHP as an Apache module, by default it won't have permissions to write to the directory (this is by design to avoid security issues.) You can do something like the following: 1. Create a directory for writing files outside of your public directory (let's call it uploads.) 2. Change the group associated with the directory to Apache: sudo chgrp -R www-data /home/username/path/to/uploads 3. Change the permissions on the directory so the group has write permissions: sudo chmod -R 2775 /home/username/path/to/uploads 4. Then try the script again. See if that works. Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com Thanks - The directory is output_files, which is a subdirectory of /var/www I'm getting a message invalid owner on the command chown Apache output_files. Also with the -R option, and with apache as the owner, also with the chgrp. All these commands are run as root.. Help and advice please. Ethan Hi Ethan, I might be missing something. Did you set up the user Apache? On a standard install for Debian (using apt-get), apache is usually set up as the user/group www-data: http://wiki.debian.org/Apache http://wiki.debian.org/ApacheThe root user typically owns the /var/www directory. I usually set up virtual hosts within one of the other accounts and then change the group on a directory outside of the public directory specifically set aside for uploads and run the commands I sent. However, in the case of your example, I believe you can just run the 2 commands I sent on the /var/www/output_files directory and you should be able to write the files. sudo chgrp -R www-data /var/www/output_files sudo chmod -R 2775 /var/www/output_files Hope this helps, and sorry if I misunderstood something in your configuration or troubleshooting. Adam -- Nephtali: A simple, flexible, fast, and security-focused PHP framework http://nephtaliproject.com