NOTE: If your problem is not fixed or mentioned on this Wiki page, please see this.
The default username / password to use when logging in to phpVirtualBox is admin / admin.
Some users have reported issues logging in if the PHP engine can't write to its session folder. It is impossible to cover all the possible PHP configurations here, so difficult to give direct guidance. I suggest you google
"php failed to write session data" adding your operating system to the search.
NOTE: This is different than an Invalid username or password error.
This typically indicates that the username and / or password is incorrect in config.php. These must be set to the system username / password of the user that administers your VirtualBox virtual machines.
If you have upgraded from VirtualBox 3.2.x and this was working before, you may have to run the following commands on your VirtualBox host:
VBoxManage setproperty vrdeauthlibrary default VBoxManage setproperty websrvauthlibrary default
This indicates that phpVirtualBox could not connect to the vboxwebsrv server. Either the location setting in config.php is wrong, vboxwebsrv is not running on the VirtualBox host, or SELinux is blocking access to vboxwebsrv. If you have SELinux enabled, see:
This message occurs when the $location setting in config.php is incorrect. The most common cause is that it is set to the location of phpVirtualBox rather than the SOAP URL of vboxwebsrv.
There are 2 locations involved. One is the URL that phpVirtualBox is accessible through, and the other is the URL through which phpVirtualBox communicates with vboxwebsrv. The $location setting in config.php needs to be set to the URL to vboxwebsrv.
The setting probably looks something like this:
var $location = 'http://localhost/phpvirtualbox/';
but needs to look like this:
var $location = 'http://127.0.0.1:18083/';
The URL through which phpVirtualBox is accessible does not need to be specified.
You are navigating to the $location setting in config.php. This is the URL through which phpVirtualBox communicates with VirtualBox's vboxwebsrv. Instead you need to navigate to phpVirtualBox's folder on your web server. Probably something like: http://localhost/phpvirtualbox
This is usually an indication of some sort of misconfiguration of the VM. For instance you may have enabled "Enable VT-x/AMD-V" in the VM's configuration, but your processor does not support it (just an example). Unfortunately the only way to get the correct error message is to start the VM using another VirtualBox interface such as the VirtualBox GUI, VBoxManage, or VBoxHeadless. These should print a more descriptive error.
If the cause is not apparent through the error message, post the issue on the forums over at http://www.virtualbox.org
You are probably using a version of phpVirtualBox that is incompatible with your version of VirtualBox.
phpVirtualBox versioning is aligned with VirtualBox versioning in that the major and minor release numbers will maintain compatibility. phpVirtualBox 4.0-x will only be compatible with !VirtualBox 4.0.x. Regardless of what the latest x revision is. phpVirtualBox 4.1-x will only be compatible with VirtualBox 4.1.x. ..etc..
Download and install the correct version of phpVirtualBox, restart apache, and clear your web browser's cache.
The short answer is to restart apache.
PHP caches the WSDL file for vboxwebsrv and is still using an older version. The default cache timeout set in php.ini is 1 day. Restarting apache should force PHP to refresh this file.
You have probably upgraded phpVirtualBox and not cleared your web browser's cache. The version in your web browser's cache does not match the version on the server. Clear your browser's cache and refresh the page.
This is usually an indication that the username / password entered in config.php is not that of the user that administers your VirtualBox virtual machines.
- or -
To enable screen shots and the Console tab, please install a VirtualBox extension pack that supports VRDE such as the Oracle VM VirtualBox Extension Pack found in the Downloads section of http://www.virtualbox.org
- or -
The fixes are easy, but the explanations around the fixes are long. The short answer is that this is a memory leak in pam_smbpass.so - a file used to sync samba passwords with system passwords. You have 2 options:
Disable authentication in vboxwebsrv.
Remove PAM references to this file so that it is not called for authentication
Each have their own gotchas.
Disable authentication in vboxwebsrv - The end-result of this is that a username / password is no longer required to interact with VirtualBox through vboxwebsrv. If you are running vboxwebsrv bound to localhost or 127.0.0.1, and you are not worried about other people on your system mucking with vboxwebsrv, or you are on a protected network, then this is probably not an issue. To disable authentication in vboxwebsrv, run:
VBoxManage setproperty websrvauthlibrary null
as the user that runs VirtualBox on your system. NOTE: a username / password will still be required to log into phpVirtualBox. If you don't like that option, read on..
*nix with Windows), removing the samba package from your system is the easiest choice. If you do use samba, but don't care to keep your your samba user database in sync with system passwords, you can comment out any references to pam_smbpass in /etc/pam.d/
*. If you use samba AND want to keep your samba user database in sync with system passwords, your only choice is to disable vboxwebsrv authentication.
The power or screen saver settings of the guest OS in the virtual machine is probably set to turn off the monitor or display a blank screen after a period of inactivity. Change this setting in the guest operating system of the virtual machine.
These options have no effect in a headless environment (console via VRDE) and so are not displayed.
Chances are, you are not the first person to encounter a particular error message. Please search the forums at https://sourceforge.net/p/phpvirtualbox/discussion/ for your issue. If none is found, please post a new topic to the Help forum.