У меня была такая же проблема, и в конце концов я обнаружил, что это вызвано тем, что CakePhp не признает, что я использовал пользователя с паролем, даже если этот пользователь был создан в PHPMyAdmin. Мне пришлось использовать пользователя root без пароля.
Я узнал об этом после внесения следующих изменений в файл /lib/Cake/Error/exceptions.php .
Исходная строка:
protected У меня была такая же проблема, и в конце концов я обнаружил, что это вызвано тем, что CakePhp не признает, что я использовал пользователя с паролем, даже если этот пользователь был создан в PHPMyAdmin. Мне пришлось использовать пользователя root без пароля.
Я узнал об этом после внесения следующих изменений в файл /lib/Cake/Error/exceptions.php .
Исходная строка:
[110] заменена на эту:
protected У меня была такая же проблема, и в конце концов я обнаружил, что это вызвано тем, что CakePhp не признает, что я использовал пользователя с паролем, даже если этот пользователь был создан в PHPMyAdmin. Мне пришлось использовать пользователя root без пароля.
Я узнал об этом после внесения следующих изменений в файл /lib/Cake/Error/exceptions.php .
Исходная строка:
[110] заменена на эту:
[111] Это даст вам причину проблемы, чтобы вы могли правильно изменить причину.
messageTemplate = "Database connection \"%s\" is missing, or could not be created:\n %s";
Это даст вам причину проблемы, чтобы вы могли правильно изменить причину.
messageTemplate = 'Database connection "%s" is missing, or could not be created.';
заменена на эту:
protected У меня была такая же проблема, и в конце концов я обнаружил, что это вызвано тем, что CakePhp не признает, что я использовал пользователя с паролем, даже если этот пользователь был создан в PHPMyAdmin. Мне пришлось использовать пользователя root без пароля.
Я узнал об этом после внесения следующих изменений в файл /lib/Cake/Error/exceptions.php .
Исходная строка:
[110] заменена на эту:
[111] Это даст вам причину проблемы, чтобы вы могли правильно изменить причину.
messageTemplate = "Database connection \"%s\" is missing, or could not be created:\n %s";
Это даст вам причину проблемы, чтобы вы могли правильно изменить причину.
Проблема в файле ps1 - вы объявляете функцию, но не вызываете ее. Я бы изменил его так:
param($path)
function convert-utf8-to-utf16 {
$tempfile = "C:\temp.txt"
set-ExecutionPolicy Unrestricted
get-content -Path $args[0] -encoding utf8 | out-file $tempfile -encoding Unicode
set-ExecutionPolicy Restricted
}
convert-utf8-to-utf16 $path
он будет работать. Однако в этом нет необходимости, вы можете просто опустить объявление функции и переместить тело в сам сценарий:
param($path)
$tempfile = "C:\temp.txt"
set-ExecutionPolicy Unrestricted
get-content -Path $path -encoding utf8 | out-file $tempfile -encoding Unicode
set-ExecutionPolicy Restricted
Начиная с Powershell версии 2, вы можете запустить сценарий Powershell следующим образом...
powershell -ExecutionPolicy RemoteSigned -File "C:\Path\Script.ps1" "Parameter with spaces" Parameter2
Теперь, если бы я мог только найти способ обработки перетаскивания файлов в сценарий Powershell.
У меня это работает ... Файл ps1 не нужно оборачивать в функцию. Только это объявление в порядке.
$tempfile = "C:\temp.txt"
get-content -Path $args[0] -encoding utf8 | out-file $tempfile -encoding unicode
и файл bat называет его так:
cd %SystemRoot%\system32\WindowsPowerShell\v1.0
powershell Set-ExecutionPolicy Unrestricted
powershell "& 'C:\convert-utf8-to-utf16.ps1 C:\test.txt' 'C:\test.txt'"
powershell Set-ExecutionPolicy Restricted
pause
Try this syntax instead:
cd %SystemRoot%\system32\WindowsPowerShell\v1.0
powershell {Set-ExecutionPolicy Unrestricted}
powershell "& C:\convert-utf8-to-utf16.ps1 C:\test.txt"
powershell {Set-ExecutionPolicy Restricted}
pause
# Test-Args.ps1
param($first, $second)
write-host $first
write-host $second
Call from Command Prompt:
PowerShell.exe -NoProfile -Command "& {./Test-Args.ps1 'C:\Folder A\One' 'C:\Folder B\Two'}"
What's confusing is that if the script is in a folder path containing spaces, PowerShell doesn't recognize the script name in quotes:
PowerShell.exe -NoProfile -Command "& {'C:\Folder X\Test-Args.ps1' 'C:\Folder
A\One' 'C:\Folder B\Two'}"
But you can get around that using something like:
PowerShell.exe -NoProfile -Command "& {set-location 'C:\Folder X';./Test-Args.ps1 'C:\Folder
A\One' 'C:\Folder B\Two'}"
Don't use spaces in your .PS1 file name, or you're outta luck.