I'm having an issue where PHP is trying to use the default session directory (/var/lib/php/session) even though I have set it to something different in my php.ini file:
session.save_path = "/WEB/SESSIONS"
I have the exact ini file on another web server and no issue. I'm using PHP 5.5 with Apache. I have verified that PHP is trying to use /var/lib/php/session by looking at phpinfo and from the Apache error log:
[Mon Aug 04 14:32:18 2014] [error] [client x.x.x.x] PHP Warning:
Unknown: open(/var/lib/php/session/sess_e9bvjjf77tbpo40r86e5pegl80,
O_RDWR) failed: Permission denied (13) in Unknown on line 0, referer:
https://x.x.com/
This is usually pretty straight forward for me but not sure why I'm having an issue. Would appreciate any advice! Thank you!
Related
I have tried everything, but can't seem to simply get it to work.
I was using these scripts happily on a bluehost hosting, till I decided to move to digital ocean.
https://github.com/google/google-api-php-client/tree/1.1.4
https://github.com/asimlqt/php-google-spreadsheet-client/tree/2.3.5
I built a custom function to read spreadsheets and use it as a database for a client who needed the ability to edit the website texts himself.
I took a Digital Ocean Ubuntu 14.04 server, installed Sentora Panel on it, normal PHP code works, but specifically this Google API script is throwing this error.
[Fri Jul 29 05:21:24.569294 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Warning: file_exists(): open_basedir restriction in effect. File(/tmp/Google_Client/5f/5fa67135f8773ebac807e4dda0aa1084) is not within the allowed path(s): (/var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in:/var/sentora/temp/) in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 52
[Fri Jul 29 05:21:25.985927 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Warning: is_dir(): open_basedir restriction in effect. File(/tmp/Google_Client/5f) is not within the allowed path(s): (/var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in:/var/sentora/temp/) in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 148
[Fri Jul 29 05:21:25.986025 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Warning: mkdir(): open_basedir restriction in effect. File(/tmp/Google_Client/5f) is not within the allowed path(s): (/var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in:/var/sentora/temp/) in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 149
[Fri Jul 29 05:21:25.986373 2016] [:error] [pid 2429] [client 14.139.122.50:53019] PHP Fatal error: Uncaught exception 'Google_Cache_Exception' with message 'Could not create storage directory: /tmp/Google_Client/5f' in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php:154\nStack trace:\n#0 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php(139): Google_Cache_File->getCacheDir('ff3dffdeef0acdf...', true)\n#1 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php(134): Google_Cache_File->getCacheFile('ff3dffdeef0acdf...', true)\n#2 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php(95): Google_Cache_File->getWriteableCacheFile('ff3dffdeef0acdf...')\n#3 /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Auth/OAuth2.php(315): Google_Cache_File->set('ff3dffdeef0acdf...', '{"access_token"...')\n#4 /var/sentora/hostda in /var/sentora/hostdata/zadmin/public_html/test2_ipleaders_in/process/google/google-api-php/src/Google/Cache/File.php on line 154
This is the error log I am receiving. I have checked for file permissions, and have kept it 777 in many places and especially in the tmp folder as mentioned in the error log. I desperately seek help on this, any insight is helpful.
Just as the error message says, it appears that php's open_basedir setting is preventing the script from reading the files from /tmp path. You probably want to check with your hosting provider if you are able to change that setting, or alternatively, change the temporary path in your application/library settings to the directory you have access to.
I solved this one beautifully!
So as I was using Sentora, I searched for 'open_basedir Sentora' on Google, and found this: http://forums.sentora.org/showthread.php?tid=1674
I made a custom vhost entry:
Admin > Module Admin (on Sentora CP).
Apache Config (it's the very first option).
Scrolled Down to the end of the page and under the Override a Virtual
Host Setting I choose the website I wanted.
Now on the text area input: Custom Entry I entered the following:
php_admin_value open_basedir none
And now the Google Script is working fine! Thanks to #Unix-One's answer I was on the right track.
I have some trouble with my PHPMyAdmin on dedicated server.
Directadmin was installed with system CentOS7 by soyoustart.com
Here is line with phpmyadmin error line from apatche error logs:
[Tue Jun 28 10:22:51.938070 2016] [:error] [pid 30558] [client 88.199.88.94:50300] PHP Fatal error: Unknown: Failed opening required '/var/www/html/phpMyAdmin/index.php' (include_path='.:/usr/local/lib/php') in Unknown on line 0, referer: https://xxx.xxx.xx.xx:2222/CMD_DB?domain=xxxxxxx.com
Could someone tell me how to reinstall PHPMyAdmin on CentoOS 7 or how to solve this problem?
Set session.save_path to /tmp in your php.ini file and restart httpd services to fix this issues.
I am actually trying to set up my localhost Wordpress installation to my apache server and I have some trouble to access the index.php or any other file in my Wordpress installation. Indeed I have a blank page while accessing "www.mysite.com/blog". Knowing that I can't modify apache2.conf or any configuration file by myself, I wanted to know if there is any other solution to fix this.
Here is what I obtain in error.log:
[Thu Jul 02 08:57:21 2015] [error] [client 104.6.36.81] PHP Warning: Unknown: open_basedir restriction in effect. File(/var/www/vhosts/mysite.com/httpdocs/blog/index.php) is not within the allowed path(s): (/var/www/vhosts/mysite.com/httpdocs:/tmp) in Unknown on line 0
[Thu Jul 02 08:57:21 2015] [error] [client 104.6.36.81] PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
[Thu Jul 02 08:57:21 2015] [error] [client 104.6.36.81] PHP Fatal error: Unknown: Failed opening required '/var/www/vhosts/mysite.com/httpdocs/blog/index.php' (include_path='.:') in Unknown on line 0
Moreover, the owner of "blog" is me.
Any help would be welcomed :)
First, 777 permissions are bad, even on localhost where there is limited external access. Changing File Permissions « WordPress Codex for the correct and secure permissions scheme.
Second, open_basedir restriction in effect is a PHP configuration error. You need to make changes in httpd.conf. You need to find the location of httpd.conf for your OS and Apache.
See http://php.net/manual/en/ini.core.php#ini.open-basedir :
In httpd.conf, open_basedir can be turned off (e.g. for some virtual
hosts) the same way as any other configuration directive with
"php_admin_value open_basedir none"
My app was working fine on my server. I moved it to another server, updated all the app settings in developers.facebook.com and now all i get is a blank page. The error_log for the server shows this error.
[Wed May 23 22:20:01 2012] [error] [client 184.65.142.249] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0, referer: http://static.ak.facebook.com/platform/page_proxy.php?v=4
[Wed May 23 22:20:01 2012] [error] [client 184.65.142.249] PHP Fatal error: Unknown: Failed opening required '/var/www/html/explorebc/home.php' (include_path='.:/usr/share/pear:/usr/share/php') in Unknown on line 0, referer: http://static.ak.facebook.com/platform/page_proxy.php?v=4
I've searched high and low for an answer to this, I could really use somebody's help for a push in the right direction.
The paths are right, the facebook settings are right, the init call is in there, the config file has been updated with new server paths.
Cheers,
Cody
You should make sure that the right permissions are set for files. [Source]
It was SELinux that was blocking the site from working correctly. It was unrelated to code or direction, it was just simply blocking things from working.
I have php upload problem, I have the following code:
define('GW_UPLOADPATH', '/var/www/train/ch5/images/');
$name = $_POST['name'];
$score = $_POST['score'];
$screenshot = $_FILES['screenshot']['name'];
$target = GW_UPLOADPATH.$screenshot;
echo $_FILES['screenshot']['tmp_name'].'<br/>';
move_uploaded_file($_FILES['screenshot']['tmp_name'], $targe)
or die("Upload Error!");
I get upload error! The temporary file where file is uploaded is:
/tmp/php9Khayp
but in /tmp I can not find this file. I am working on Ubuntu 10.10. Can anyone say me where is the problem?
apache error.log:[Wed Aug 10 20:54:17 2011] [error] [client ::1] PHP Warning: move_uploaded_file(/var/www/train/ch5/images/phizsscore.gif): failed to open stream: Permission denied in /var/www/train/ch5/addscore.php on line 22, referer: http://localhost/train/ch5/addscore.php
[Wed Aug 10 20:54:17 2011] [error] [client ::1] PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpmkZEr3' to '/var/www/train/ch5/images/phizsscore.gif' in /var/www/train/ch5/addscore.php on line 22, referer: http://localhost/train/ch5/addscore.php
[Wed Aug 10 20:54:18 2011] [error] [client ::1] File does not exist: /var/www/favicon.ico
You have a typo. $targe should be $target.
move_uploaded_file($_FILES['screenshot']['tmp_name'], $targe)
---------------------------------------^^^^^^
Otherwise, you will never be able to see the file in /tmp because it only persists for the lifetime of the PHP script. As soon as the script execution completes, the file will be cleaned up. You can't ever access it on disk after the script terminates unless a successful call to move_uploaded_file() is made.
UPDATE
If the $target variable is not the problem, make sure that the Apache web server user (www-data, httpd, apache are possibilites) has write access to your target /var/www/train/ch5/images/:
# assuming the Apache user is apache...
sudo chown root:apache /var/www/train/ch5/images/
sudo chmod g+rwx /var/www/train/ch5/images/
Does your code have permission to write files to /tmp?
Do the apache error logs say anything?