I'm trying to get a Yii program running, but I get the error:
Application runtime path "C:\Program Files\EasyPHP-5.3.8.1\www\project\protected\runtime" is not valid. Please make sure it is a directory writable by the Web server process.
Does this mean I have to change something inside EasyPHP? I've tried adding permissions through directory->properties->security and changing the permissions to allow everything, but that did nothing. I have no idea where to go from here. Any ideas?
I had this problem with Yii. Yii creates a lot of empty folders. And I was using a GIT repository to work between the production environment and my DEV machine. GIT by default doesn't save empty folders. So when I was working on my DEV machine, I cloned the repo minus all the empties. Use this command on a Linux machine, from the root of your repo, to put empty ".gitignore" files in each of the empty directories. This will make sure git indexes and saves them.
find . \( -type d -empty \) -and \( -not -regex ./\.git.* \) -exec touch {}/.gitignore \;
That either means the directory doesn't exist or you need to CHMOD it with the right permissions. chmod -R 777 runtime
Since you're on windows, you shouldn't need to CHMOD anything. Are you absolutely sure that the runtime directory exists?
Otherwise I would suggest using xampp. I'm running yii on it locally with no problems.
Related
I have a legacy Prestashop 1.7.2.2 installation and I would like to know if some core file was modified compared with the original version.
I have to move, upgrade and fix some issue in this installation but if someone modified the original core files I can find difficulties or the website could rise errors.
Do you know some method to smartly do this check?
Thanks!
Do you have the original files? Then all you need to do is compare the directories and files with the right tool. I would use Total Commander and it's "Synchronize dirs" command. You can have original files on your local computer and compare them over FTP with you server files.
You can also use WinMerge but you can only compare local directories so you'll need to download your Prestashop install from the server.
In admin You go on information page under "Advance Parameter" menu. IN the last box you will see "List of changed files"
1) Download a fresh version of 1.7.2.2 from PrestaShop.com. Let's call this directory $BASE.
2) Download the files for your cart. Let's call this directory $YOUR_CART.
3) Compare $BASE to $YOUR_CART. This will show you changes in core.
cd $BASE
for i in `find . -type f`
do
diff -q $i $YOUR_CART/$i
done
4) Do the same thing in reverse, to find files that have been added to your installation that are not in $BASE.
cd $YOUR_CART
for i in `find . -type f`
do
diff -q $i $BASE/$i 2>>/tmp/newfiles
done
Now the file /tmp/newfiles has a list of additions that have been made in your installation.
Friends, I tried to deploy my yii production application from cloud9 IDE to OpenShift while do so, I got this error message,
CException
Application runtime path "/var/lib/openshift/51dd48794382ecfd530001e8/app-root/runtime/repo/php/protected/runtime" is not valid. Please make sure it is a directory writable by the Web server process.
Even when I changed folder permissions to 775 (chmod -R 775 directory) on Cloud9 IDE and deployed again, but I get the same error coming.
It's an old question, but I just bumped into the same issue very recently.
When you extracted the "yii" package several folders were empty, "framework/protected/runtime" was one of them.
To deploy to OpenShift you need to commit the yii package to git, and the push the commit to OS. But, git won't commit empty folders, so they are not created in your deployment. You need to create some file inside those folders and add those files to your git repo before committing/pushing. The usual procedure would be to add a ".gitkeep" file to those folders (it's just a empty dummy file, so git would see those folders).
That would fix this particular error.
It may be due the ownership given to the folder.
Check the web server user group, is that directory is writable or not and also What effects a web server when we change the platform.
Hope my suggestion would be useful.
For Yii applications, the assets and protected/runtime folders are special. First, both folders must exist and writable by the server (httpd) process. Second, these two folders contains temporary files, and should be ignored by git. If these temporary files got committed, deployment in plain servers (not Openshift servers) would cause git merge conflicts. So I put these two folders in .gitignore :
php/assets/
php/protected/runtime/
In my deployment, I add a shell script to be called by openshift, creating both folders under $OPENSHIFT_DATA_DIR and creating symbolic link to both of them in the application's folders. This is the content of the shell script (.openshift/action_hooks/deploy) which I adapted from here :
#!/bin/bash
if [ ! -d $OPENSHIFT_DATA_DIR/runtime ]; then
mkdir $OPENSHIFT_DATA_DIR/runtime
fi
# remove symlink if already exists, fix problem when with gears > 1 and nodes > 1
rm $OPENSHIFT_REPO_DIR/php/protected/runtime
ln -sf $OPENSHIFT_DATA_DIR/runtime $OPENSHIFT_REPO_DIR/php/protected/runtime
if [ ! -d $OPENSHIFT_DATA_DIR/assets ]; then
mkdir $OPENSHIFT_DATA_DIR/assets
fi
rm $OPENSHIFT_REPO_DIR/php/assets
ln -sf $OPENSHIFT_DATA_DIR/assets $OPENSHIFT_REPO_DIR/php/assets
The shell script ensures the temporary folders created on each gear after openshift deployment. By default, a new directory's right are u+rwx, and it became writable by the httpd process because the gear runs httpd as the gear user (not apache or something else).
I recently had to reinstall Ubuntu and everything else as my SSD crashed.
I've got Apache/MySQL/PHP set up and can access localhost/ without problems. Running PHP and MySQL works fine as well.
I keep my projects in a Dropbox folder (since the crash) located at /home/powerbuoy/Dropbox/Projects/ and have set up VHOSTs that point to some of the projects in there. I've also set up /etc/hosts so that I can access my projects through http://project-name.dev.
However, when I try to visit http://any-project.dev all I get is 403 forbidden. I've run chmod -R 777 Projects/ and all the files and folders are now green in the terminal. That didn't help.
I checked the error-logs and they say:
[crit] [client 127.0.0.1] (13)Permission denied: /home/powerbuoy/Dropbox/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
But there isn't even supposed to be a .htaccess file anywhere there.
I even set up a completely empty project (/home/powerbuoy/Dropbox/Projects/test/index.php with just <?php phpinfo() inside), set up a VHOST and a http://test.dev URL. I get the same error here.
Any ideas?
Thanks
Edit: I tried moving my test project to the desktop (/home/powerbuoy/Desktop/test/) and now it works :P
Perhaps it has something to do with the projects being located inside the Dropbox folder??
Most probably this is a chmod issue. You must change all trees chmod settings. If you have ssh access you can try this commands:
chmod 755 $(find /home/user/public_html -type d)
chmod 644 $(find /home/user/public_html -type f)
Please replace /home/user/public_html part to 'your real path'.
Apparently simply chmoding the directory the project is in wasn't enough. I had to chmod all the directories higher up in the tree as well.
So even though my VHOST pointed to /home/powerbuoy/Dropbox/Projects/AProject/ simply chmoding /AProject/ is not enough but it has to be done all the way from /home/powerbuoy/ it seems.
The reason you had to chmod the permission going up the directory tree is that Linux doesn't permit you to simply access a folder such as /home/jsmith/my_folder directly. You have to also have execute permissions to / /home/ and /home/jsmith . The execute bit allows the affected user to enter the directory, and access files and directories within it.
I have found some solutions to this error and tried implementing them but none of which has worked and hope that some here at SO might have a different answer.
I get this error, "Warning! Failed to move file" when I try install modules into my new installation of Joomla here:
http://sun-eng.sixfoot.co.za
Here's some solutions I have tried to no avail:
http://forum.joomla.org/viewtopic.php?f=199&t=223206
http://www.saibharadwaj.com/blog/2008/03/warning-failed-to-move-file-joomla-10x-joomla-15x/
Anyone know of another solution to this please?
Thanks!
Go to Help -> System Info in your administrator backend and check your Directory Permissions tab to make sure everything is writable.
Also make sure your Path to Temp Folder is correct in Site -> Global Configuration.
Finally, check to make sure that the module isn't already installed. It's possible that some files already got copied or something and now your system is having problems overwriting them.
If none of this works, let us know if the error message specifies which file can't be moved. That would help figure out a solution.
In the configuration folder change the temporal folder location to /tmp (public $tmp_path = '/tmp';) or create your own temperate folder and set it to /myowntemp and change the file permission to 777. you are good to go .
This is typically a file permissions issue. If the system cannot write to the tmp directory within Joomla it will give you the "Warning Failed To Move File" error.
The typical solution is to make the directory wide-open, in general a bad practice but a quick fix. You log in to the Linux command line via a terminal (telnet or ssh) session and set the permissions of the directory.
# chmod -R 777 ./tmp
The better option is to find out what user/group the Apache server is running as and assign the permissions accordingly. For example, if Apache is running your site as the myuser:nobody user:group then you can open up write permissions for the group by changing ownership of the tmp folder and making it writable by anyone in the group:
# chgrp -R nobody ./tmp
# chmod -R 775 ./tmp
Security can be a pain to get set correctly if you don't know *nix commands and security settings, so most people just blast a huge hole in the security with chmod 777.
The next thing you'll probably run into is another error message about not being able to update a specific directory. Again, this is a permissions issue and is typically a piece of the file being unzipped into the administrator subdirectory. Depending on whether your installing a component, a module, or a complex plugin with multiple pieces you may need to open up one or more of these directories using the same approach as above. Here is the "blow a big open hole in security" method:
# chmod -R 777 ./administrator/
Or more selectively:
# chmod -R 777 ./administrator/components/
# chmod -R 777 ./administrator/modules/
If you are a linux user then it is very simple to solve. Just type the following command and try again to install plugin/entension.
sudo chmod -R 777 /var/www/html/my_joomla_folder
You can also refer this link for brief information regarding permission of each folder and file.
Cheers!!
In Joomla 3.x you should go to System->System Information to see directory permissions
If one or more directories that are listed are not "writable" then you should change the permission of those directories:
If you are using one of Linux distributions you can use this command
to give the directories read/write/execute permission:
sudo chmod 777 -R address_of_lampp_directory/lampp/htdocs/joomla_directory
I have had a similar issue today and found is was the permissions set on the 'temp folder'. To resolve I changed them to 777 and my plugin installs worked fine!!
Another thing to check is whether you actually have space on the disk. I had this error and discovered that the drive was 100% full. Removing some unused files fixed the problem.
One other thing to try if everything else is not working is to add the following to your .htaccess file:
php_value upload_max_filesize 10M
Make sure 10M covers the size of the file you are uploading - increase it if your file is 12Mb, for instance.
[Source]
This issue was solved like this.
On the configuration.php file change the tmp_path variable according to:
if you site is mysite.azurewebsites.net, the path should looks like
'C:\DWASFiles\Sites\mysite\VirtualDirectory0\site\wwwroot\tmp'
instead of
'C:\DWASFiles\Sites\mysite.azurewebsites.net\VirtualDirectory0\site\wwwroot\tmp'
Refer to the link: http://social.msdn.microsoft.com/Forums/en-US/windowsazurewebsitespreview/thread/2701eadc-9977-46ab-9c56-81a2234bdce4
I did it and every is working for every error problem with OSX, I use OSX version 10.9.2 and get many problems. The way to fix every error is
# cd /Applications
# chmod -R 777 ./XAMPP
some files might not change permission but the problem is gone.
you can create folder and upload fine and picture, including install plugin.
just messed the websites at host by changing permission settings :( none of sites are working now!!! it gives
Forbidden
You don't have permission to access / on this server.
error! how can i fix it?! should i make files' permissions as 644?
thanks!!!
I think that 755 should do.
Basically, you shouldn't grant write permissions for any file/directory to anybody but yourself (the owner), except for dirs/files which are explicitly required by a particular website/framework to be writable. A common example would be a directory for uploading avatars by users of a forum application.
What matters is that you most probably need the 5 for others (hence, you might try 705 and it still could work) to grant execute access for foreign users. While it might not make sense to set +x for all your website's files, the directories use the execute right to check whether the user is allowed to enter that directory. If you set the rights of everything (including directories) to 644/744, nobody except the owner will be able to browse the directory structure of particular folders. As the http daemon hardly ever is run as the directory owner's process, it might be the reason why your website stopped working.
To set the minimal permission you can use:
chmod -R o+r ./
find ./ -type d -exec chmod o-r {} \;
find ./ -type d -exec chmod o+x {} \;
The first line sets the permissions of all files in the directory and any file inside it (including those in subdirectories) to allow read by others.
The second one removes the read permission from directories.
The third one adds the execution permission for directories.