Re: Permission Denied - Help Requested
| From: | Ethan Rosenberg | Date: | Tue, 29 Mar 2011 20:37:49 +0000 |
| Subject: | Re: Permission Denied - Help Requested | ||
| References: | 1 2 3 4 5 6 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-312128@lists.php.net to get a copy of this message | ||
At 03:49 PM 3/29/2011, Al wrote:
On 3/29/2011 3:06 PM, Ethan Rosenberg wrote: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.dtd>"http://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. EthanAt 01:40 PM 3/29/2011, Adam Richardson wrote:At 11:14 PM 3/28/2011, Adam Richardson wrote:On Mon, Mar 28, 2011 at 11:43 PM, Ethan Rosenberg <ethros@earthlink.net>wrote:+++++++++ Adam - Thanks. 1] Pardon my ignorance but I do not understand this - Are you using suPHPDear 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 PHPOn Mon, Mar 28, 2011 at 11:03 PM, Ethan Rosenberg <<mailto: ethros@earthlink.net>ethros@earthlink.net> wrote: At 01:32 AM 3/28/2011, Hans Ã�hlin wrote: Do you have SELinux installed? 2011/3/28 Ethan Rosenberg <<mailto:ethros@earthlink.net> ethros@earthlink.net>:just changed the mode on the directory and the files to 777. à Thisscript. à Iarose when I changed the permissions. à I thought I was solving aproblembecause I could not open a file forproblem,writing. à I was not receiving errormessages, but no file was created. Help and advice, please. Ethan Rosenbergirc://<http://irc.freenode.net:6667>irc.freenode.net:6667 - TheCoin********************************************** à Hans Ã�hlin à à Tel: +46761488019 à à icq: 275232967 à à <http://www.kronan-net.com/>http://www.kronan-net.com/ à Ãcommand line (sorry for the basic********************************************** 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 thequestion, 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.com>http://nephtaliproject.comor suExec?2] I changed the permissions to 755 and the "Permission Denied" message went away.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.3] Have you checked the permissions in the command line? YesCheck!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 fileCheck!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. +++++++++++++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