Jump to content

[SOLVED]File permissions and suhosin


Recommended Posts

I'm having trouble updating my language translations from the back office. It seems to be particular ones... like the module translations. I've checked that the permissions are 777 on all the files and directories and am not sure what to try next. I even put in some code that's supposed to stop my suhosin from working on my public directories. In my php.ini I put a semicolon in from of the "extension = "suhosin.so" file to make it not work. It's still not accepting my updates for translations... help please. Thank you.

To be even more specific I keep getting an error regarding my index.php file in my presta admin folder... saying I don't have permission to access it from that folder. The permissions are 644 but I haven't had much luck changing the permissions on that folder in the past.

I've also tried adding this text to my php.ini file: suhosin.request.max_vars = 2048
suhosin.post.max_vars = 2048
That file is located in my public_html file so maybe I need move it directly into the presta folder? I created that file for the presta updates anyway. I'm new to these php.ini files and don't want to mess something up. Any help will be so appreciated.

Link to comment
Share on other sites

Really? If nobody can help here can somebody point me in the right direction for paid services PLEASE? I have to have this website ready and cannot go back to a shopping cart I've previously used for the few problems I'm having now. I've already purchased an entire outer site that matches my little prestashop. Plus, I really like the prestashop just wish there was more support.

Link to comment
Share on other sites

  • 2 weeks later...

HI, Yes, that was a really difficult one. I ended up hiring "softproducts" on elance.com and they were able to fix the languages. They never were able to fix the permissions though... they went and worked on each language in each module individually I'm pretty sure. Good luck.

Link to comment
Share on other sites

For my problem i find answer.

It turned out that hosting problem. That was adjust limit for quantity variables which pass POST method. In Russian you see here http://www.prestadev.ru/forum/tema-1486.html

In my case hosting limit POST variables in 355. You see it here http://flast-shop.de/test_post.php?num=356 - try click send on first button and you will see Forbidden 403 You don't have permission to access /test_post.php on this server. If you set in second form value 355 and click send and after update click send on first button you see that all right


Code this test:


<?php
$num = $_GET['num'];
if($num){
   echo 'Num = '.$num;



   $postData = $_POST['postdata'];
   ?>

       <form method="post">
       <?php
           for($i=1; $i<=$num; $i++){
               ?>
                  <input type="text" name="<?php echo $i; ?>" value="<?php echo $i; ?>">
               <?php
           }
       ?>
       <input type="submit">
       </form>
   <?php

   echo '';
   var_dump($postData);
   echo '';
}
?>


<form method="get">
   <input type="text" name="num">
   <input type="submit">
</form>
<?php
phpinfo();

?>





I don't find how i correct this problem, and i don't find where this problem: in php or in apache settings (but if error 403 then i surmise apache).


I trying find answer, and sory for my English :)

Link to comment
Share on other sites

  • 2 months later...

Hi All, to you who have set permissions correct (777) for /translations and yourtheme/lang AND changed suhosin.ini

From:
suhosin.post.max_vars = 200
suhosin.request.max_vars = 200

To:
suhosin.post.max_vars = 2048
suhosin.request.max_vars = 2048

And its still not working .....
BE AWARE

Some server severs will by default have placed a ; infront of all lines to disable them.
This ; must be removed to enable the change to take effect.

Like this:
;suhosin.post.max_vars = 2048 (is disabled)
suhosin.post.max_vars = 2048 (is enabled)

This worked for us - hope it helps you

Link to comment
Share on other sites

  • 6 months later...

Hi David,

The php file should go in your public_html directory.

In my case, with cpanel hosting, I also had to add a line to my htaccess file:"SetEnv PHPRC /home/username/public_html/php.ini"

Make sure to substitute your username for 'username.' I'm not sure if this is something you'll actually need to do in your case.

Link to comment
Share on other sites

Adria,

Thanks for this. So I have added to my .htaccess the line:

SetEnv PHPRC /home/http://www.gamesfromeverywhere.com.au/php.ini



Does this look right? I do not have user name. My shop and my php.ini file are in the root directory (public_html). I was given some other advice which gave me this to put in my .htaccess file:

SetEnv PHPRC /home/http://www.gamesfromeverywhere.com.au/public_html



There is a small difference between the two. I also use cpanel. What should my permissions be for the php.ini file, /translations/en and themes/my_theme/lang/en ?

The line of code sits in my .htaccess file as:

# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# WARNING: PLEASE DO NOT MODIFY THIS FILE MANUALLY. IF NECESSARY, ADD YOUR SPECIFIC CONFIGURATION WITH THE HTACCESS GENERATOR IN BACK OFFICE
# http://www.prestashop.com - http://www.prestashop.com/forums

SetEnv PHPRC /home/http://www.gamesfromeverywhere.com.au/php.ini


# URL rewriting module activation
RewriteEngine on



Thanks for your help.

Link to comment
Share on other sites

So it looks to me like you're wanting to direct from outside your site (ie http:... whole site address/php.ini. If you are doing it that way you won't need all the folders and might be fine with something like this:SetEnv PHPRC /http://www.gamesfromeverywhere.com.au/php.ini. I would normally do a path directly through the folders but there may be a reason you're doing it that way? Anyway, if you went directly through the folders you'd do it the first way but not include http, etc. Tell me if that makes sense to you.

On my file permissions they are 755 on all the translations.

Link to comment
Share on other sites

I apologise for not understanding but I don't know what you mean by "outside my site". My php.ini file is in the root directory of my website at http://www.gamesfromeverywhere.com.au/php.ini - Is this where it ought ot be? Should my path in the .htaccess file be: SetEnv PHPRC /home/http://www.gamesfromeverywhere.com.au/php.ini or should it be: SetEnv PHPRC /http://www.gamesfromeverywhere.com.au/php.ini (without the "home")... or should it be something else again?

Link to comment
Share on other sites

What I meant by outside the site is you are directing it back out of your site & back in when you write the /http://www.....
If you were going to lead directly to the php file from withing the site you'd lead directly to that folder with no need for outside directions /home/....
Either way will probably work but each would be a different path obviously. I always chose to figure my path directly to my file (which may be hard because you may not know the direct path from within). If not, I think it's fine to go from outside in (make a little more sense)? Sometimes you want to make a path from outside if you're wanting to use a secure server, in that case it would be /https:/www.... That's a perfect example to make a path to secure pictures & such if on a checkout page.
So, as far as I know by doing it that way (calling the file from the outside in for lack of better words to explain) I think you could just use starting with the /http:/ but since I don't typically do it that way I'm not sure if it should be SetEnv PHPRC /home/http://www.gamesfromeverywhere.com.au/php.ini
Probably go with the latter since it's similar to what the other person told you. I'm no expert.

Also, it seems I changed my permissions back from 755 to 777 then back to 755. I think I ran into issues at 777 but it's been a while & I don't remember. Anyway, I hope I didn't confuse you more.

I remember using this info to help me when setting up my file:

http://forums.westhost.com/showthread.php?14325-using-php.ini-in-the-4.0-cPanel-environement&highlight=php.ini 4.0

Link to comment
Share on other sites

Unbelievable! I went to the site you suggested, copied and pasted the code "as is" and inserted by database username (just for fun) ands it all worked. I had no idea that the username required was my database user name. i didn't have to enter a url or anything. I simply entered: SetEnv PHPRC /home/username/public_html/php.ini

And Voila! Thank you so much for your help.

Link to comment
Share on other sites

  • 9 months later...

Some server severs will by default have placed a ; infront of all lines to disable them.

This ; must be removed to enable the change to take effect.

Like this:

;suhosin.post.max_vars = 2048 (is disabled)

suhosin.post.max_vars = 2048 (is enabled)

 

 

Thanks, that did it :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...