Как разрешить конфликты с разными приложениями, полагаясь на разные переменные PATH?

917
JW.

У меня есть две программы, которые полагаются на некоторые файлы .dll. (Wikidpad и Microsoft WebMatrix2.)

Я использовал WikidPad некоторое время без проблем. После того, как я установил WebMatrix2 (который использует IIS Express, я думаю), я получил несколько диалоговых окон «Плохое изображение» в виде:

WikidPad.exe - Плохое изображение

C: \ Program Files (x86) \ iis express \ PHP \ v5.3 \ icudt.dll либо не предназначен для работы в Windows, либо содержит ошибку. Попробуйте установить программу еще раз, используя оригинальный установочный носитель, или обратитесь к системному администратору поставщика программного обеспечения за поддержкой.

После некоторой борьбы я проверил переменную PATH и

C: \ Program Files (x86) \ iis express \ PHP \ v5.3 \

был добавлен к пути.

Я удалил эту часть переменной PATH, и WikidPad больше не отображал диалоговые окна. Однако WebMatrix2 больше не работает по той же причине: ошибки плохого изображения.

Так что одной программе нужен путь, чтобы быть там, а другой - его не должно быть.

Как это исправить?

0

1 ответ на вопрос

1
JasonXA

Пробовал WikidPad 2.1_01 и он не использует icudt.dll согласно отчетам Process Explorer, поэтому что-то там должно быть не так. Вы использовали какие-либо плагины, связанные с PHP?

Также может быть так, что WikidPad использует 127.0.0.1 или localhost во внутренней работе ... что, в свою очередь, вступит в конфликт с IIS, который также использует 127.0.0.1. В этом случае простое решение будет вручную останавливать IIS, когда вы закончите его использовать. Более сложное решение состоит в том, чтобы выяснить, почему настройки PHP не читаются правильно ... вот почему вы получаете это сообщение, а не можете.

Спасибо за Ваш ответ. Я не вижу нигде работающего IIS. Я посмотрел в Панели управления -> Администрирование, а также в проводнике процессов и служб в диспетчере задач. Кажется, он не работает. Я посмотрю на файл php.ini ... похоже, он был изменен, когда я установил WebMatrix. JW. 11 лет назад 0
Затем запустите 'netstat -n -b' и посмотрите, какой процесс использует localhost, только что проверил, WikidPad использует его на порте 2000. JasonXA 11 лет назад 0
Хорошо ... нашел, что WebMatrix запустил iisexpress.exe как рабочий, но когда я закрыл его, этот процесс был автоматически убит. Играя с командой netstat, чтобы попытаться увидеть то, что вы видели. JW. 11 лет назад 0