如何在svn中直接执行SegmentFault
我希望直接访问版本库中的 内容并且像访问目录一样,可以自动执行php,可以直接访问图片等。
在apache中已经加载了svn模块并且通过
<location> DAV svn SVNPath "/Users/mike/opt/svn" </location>
打开了svn的http访问。但是在http://localhost/svn
中php会被直接打开(可以看到内容)而图片却打不开(一片空白)
回复内容:
我希望直接访问版本库中的 内容并且像访问目录一样,可以自动执行php,可以直接访问图片等。
在apache中已经加载了svn模块并且通过
<location> DAV svn SVNPath "/Users/mike/opt/svn" </location>
打开了svn的http访问。但是在http://localhost/svn
中php会被直接打开(可以看到内容)而图片却打不开(一片空白)
apache的svn模块只能提供svn预览功能,是无法用来直接执行文件的。因为svn在服务器上不是按一个个文件存放的,而是以一定的格式存放在数据文件中。svn模块就是用来解析这种格式的。
如果你想svn提交后立即预览效果,可以使用svn hook的功能,所谓svn hook,就是允许你在提交版本之前或之后插入自己需要执行的命令。
首先在服务器上创建一个以后用来访问的web目录,比如这样(权限问题自己搞定)
mkdir /wwwroot/svn-preview/
在apache里面配置好这个目录的php运行环境,保证它可以被访问。
然后check out一份代码到这个目录(自己替换svn的url)
svn co http://my-svn-host/my-svn-path /wwwroot/svn-preview/ --username=my-svn-username
现在我们搞定了一份最新版的代码,并可以访问它了。然后要解决的是自动同步的问题。找到svn的repos目录,从你的例子上看,似乎是/Users/mike/opt/svn
这个目录。
cd /Users/mike/opt/svn/hooks ls
可以看到这里存放了很多hook的模版文件(以tmpl结尾的,你只需要把后缀名去掉,自己改动一下就可以生效了)。我们需要的是提交后同步,因此找到post-commit.tmpl
,把他拷贝一份
cp post-commit.tmpl post-commit chmod +x post-commit vim post-commit
这时候打开了hook文件,里面有个例子是关于每次提交后发送个邮件提醒的,用#
加在行首,把它们注释掉,我们用不着它。在最后面增加我们的命令,其实就是一行
svn up /wwwroot/svn-preview/ --username=my-svn-username --password=my-svn-password
提交个文件到svn,然后访问看看是不是正常同步了。
之前配置svn的时候还要加上字源编码才能同步
export LANG=zh_CN.UTF8
svn up /wwwroot/svn-preview/ --username=my-svn-username --password=my-svn-password

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.
