in reply to Re^2: Running in Terminal, but not on Server
in thread Running in Terminal, but not on Server

Aww, I almost give up, I don't understand why it doesn't want to open that file. I tryed to put it in read mode, and anyway, the folders accept to be read, but not to be written, so it should work... I also tryed to put absolute URL, or starting the path from the root. Nothing Work. The program just don't want to open it.
  • Comment on Re: Running in Terminal, but not on Server

Replies are listed 'Best First'.
Re^2: Running in Terminal, but not on Server
by Corion (Patriarch) on Jan 25, 2008 at 07:08 UTC

    If you are using open my $fh, $file or die "Can't open '$file': $!";, then you will have at least the error message, and when fighting with permissions, most likely the error message is right. Remember that your webserver may be running your program with a different user and a different "current directory" than your terminal session, so your approach of using absolute filenames is very correct.

    I guess the main problem is that your file is not readable for the webserver user. I suggest that you change the permissions to one file to be world-readable (via chmod ugo+r this_one_file.txt) and then check again, and if that still fails, slowly work your way up, making directories world-readable (via chmod ugo+rx that_directory). Making things world-readable is OK if you planned to serve all data via the internet anyway, but it's stupid if you plan to keep that data hidden, hence, be careful in what you make world readable.