Clean installation problem
spagu opened this issue · 1 comments
DBALException: An exception occurred while executing 'INSERT INTO Versions (ver_name, ver_value) VALUES ("last_db_version", ?) ON DUPLICATE KEY UPDATE ver_value = ?' with params ["4.4.x", "4.4.x"]:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'scoop.versions' doesn't exist
this is what I get during a installation process, manual or web
I can confirm that issue. All database scheme is not created. Imported install/Resources/sql/campsite_core.sql as workaround.
Also it needs acess to /tmp during crontab test, while it is usually restricted by open_basedir.
Also if you have open_basedir set, when CMS looks for php binary, it ignores $PATH and uses open_basedir only. So if you have i.e. '/var/www:/tmp:.' in open_basedir (quite permissive one) it will look for /var/www/php, /tmp/php, ./php and then throws error, telling you to add php to $PATH. It even does not check $PATH in that case!
Lines from vendor/symfony/symfony/src/Symfony/Component/Process/ExecutableFinder.php
if (ini_get('open_basedir')) {
$searchPath = explode(PATH_SEPARATOR, ini_get('open_basedir'));
$dirs = array();
foreach ($searchPath as $path) {
if (is_dir($path)) {
$dirs[] = $path;
} else {
if (basename($path) == $name && is_executable($path)) {
return $path;
}
}
}
} else {
$dirs = array_merge(
explode(PATH_SEPARATOR, getenv('PATH') ?: getenv('Path')),
$extraDirs
);
}
open_basedir allows any nested directories, and you are checking only /path/php ones.
The right way to handle that is to check $PATH. That is the variable that tells you where to search for binaries.