вы defIne как DB_USER, но используете как DB_USERNAME. Также php сообщает имя пользователя @ localhost cant access. Не root @ localhost.
Измените параметр define или connect.
Отличный вопрос. Я только что разместил очень подробную запись в блоге об этом на странице Средство веб-развертывания (MSDeploy): сборка пакета, включая дополнительные файлы или исключая определенные файлы .
Вот синопсис. После включения файлов я также показываю, как исключить файлы.
Включение дополнительных файлов
Включение дополнительных файлов в пакет немного сложнее, но все же непросто, если вы знакомы с MSBuild, а если нет, то прочтите это. Для этого нам нужно подключиться к той части процесса, которая собирает файлы для упаковки. Цель, которую нам нужно расширить, называется CopyAllFilesToSingleFolder. У этой цели есть свойство зависимости, PipelinePreDeployCopyAllFilesToOneFolderDependsOn, которое мы можем задействовать и внедрить в нашу собственную цель. Итак, мы создадим цель с именем CustomCollectFiles и внедрим ее в процесс. Мы достигаем этого с помощью следующего (помните после оператора импорта).
<PropertyGroup>
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<CopyAllFilesToSingleFolderForMsdeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForMsdeployDependsOn);
</CopyAllFilesToSingleFolderForMsdeployDependsOn>
</PropertyGroup>
Это добавит нашу цель в процесс, теперь нам нужно определить саму цель. Предположим, у вас есть папка с именем Extra Files, которая находится на 1 уровень выше вашего веб-проекта. Вы хотите включить все эти файлы. Вот цель CustomCollectFiles, и после этого мы обсудим ее.
<Target Name="CustomCollectFiles">
<ItemGroup>
<_CustomFiles Include="..\Extra Files\**\*" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>Extra Files\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
Здесь я создал элемент _CustomFiles и в атрибуте Include сказал ему, чтобы он собирал все файлы в этой папке и в любой папке под ней. Если по какой-либо причине вам нужно исключить что-то из этого списка, добавьте атрибут Exclude
в _CustomFiles
.
Затем я использую этот элемент для заполнения элемента FilesForPackagingFromProject. Это тот элемент, который MSDeploy фактически использует для добавления дополнительных файлов. Также обратите внимание, что я объявил значение DestinationRelativePath метаданных. Это определит относительный путь, по которому он будет помещен в пакет. Здесь я использовал оператор Extra Files% (RecursiveDir)% (Filename)% (Extension). То, что он говорит, - это разместить его в том же относительном месте в пакете, что и в папке Extra Files.
Исключение файлов
Если вы откроете файл проекта веб-приложения, созданного с помощью VS 2010, внизу вы найдете строку с расширением.
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
Кстати, вы можете открыть файл проекта внутри VS. Щелкните правой кнопкой мыши проект и выберите "Выгрузить проект". Затем щелкните правой кнопкой мыши выгруженный проект и выберите «Редактировать проект».
Это заявление будет включать все цели и задачи, которые нам нужны. Большинство наших настроек должны быть после этого импорта, если вы не уверены, что нужно делать это после! Итак, если у вас есть файлы, которые нужно исключить, есть имя элемента ExcludeFromPackageFiles, которое можно использовать для этого. Например, предположим, что у вас есть файл с именем Sample.Debug.js, который включен в ваше веб-приложение, но вы хотите, чтобы этот файл был исключен из созданных пакетов.Вы можете разместить фрагмент ниже после этого оператора импорта.
<ItemGroup>
<ExcludeFromPackageFiles Include="Sample.Debug.xml">
<FromTarget>Project</FromTarget>
</ExcludeFromPackageFiles>
</ItemGroup>
При объявлении заполнения этого элемента файлы будут автоматически исключены. Обратите внимание на использование здесь метаданных FromTarget. Я не буду здесь вдаваться в подробности, но вы должны знать, что нужно всегда это указывать.