通过 php 显示修订
Display revision through php
我有这段代码可以在我的网页上显示当前修订版。我通过 php index.php
在我的 linux 服务器上 运行 它。代码运行良好。它是 HTML 代码并显示了修订。但是当我试图通过我的网络浏览器访问我的网页时(google-chrome 40)。它不显示修订。
<?php
$revision = substr(shell_exec('git rev-parse origin/master'),0,7);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test - shell_exec</title>
</head>
<body>
<footer class="footer">
<p>Revision <?php echo $revision; ?></p>
</footer>
</body>
</html>
好的,我刚刚解决了。
似乎当您禁用 exec
时,shell_exec
也不起作用。
对于你的问题来说可能有点矫枉过正,但我在部署之前使用 ANT 来构建我的网站。使用此 ANT 构建,可以删除、移动、添加或更改某些文件。
这样你就可以在配置文件中放置 GIT 标签(我总是在 building/deploy 之前使用标签)。请参阅我的其他 post 配置文件。
我用ANT大致做了以下事情:
- 制作 GIT 在单独的文件夹中创建副本
- 删除所有不应上线的文件
- 对配置文件进行一些更改
- 创建一个包含所有提交的 CHANGELOG 文件,并以 GIT 标签分隔以便更好地阅读。
然后,盲目地将所有内容一次性上传是安全的 FTP 运行。
在配置文件中获取最新标签的步骤:
- 创建一个配置文件,例如您的根文件夹 ("site.default.properties")
- 在其中放置一个修订属性 (SITE_REVISION_NUMBER=xxxx)
- 让 ANT 与 GIT 一起工作以获得 GIT 信息
最后一件事在 ANT 构建脚本中可以像这样工作:
<property name="GIT-src" location="/home/martin/deploy/build"/>
<exec executable="git"
failonerror="true"
outputproperty="tag.current"
dir="${GIT-src}">
<arg line="describe --tag"/>
</exec>
然后你有一个 属性 ("tag.current") 你可以放入一个配置文件并从 PHP:
读取它
<propertyfile
file="${deploy}/site.default.properties"
comment="Site properties">
<entry key="SITE_REVISION_NUMBER" value="${tag.current}"/>
</propertyfile>
我有这段代码可以在我的网页上显示当前修订版。我通过 php index.php
在我的 linux 服务器上 运行 它。代码运行良好。它是 HTML 代码并显示了修订。但是当我试图通过我的网络浏览器访问我的网页时(google-chrome 40)。它不显示修订。
<?php
$revision = substr(shell_exec('git rev-parse origin/master'),0,7);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Test - shell_exec</title>
</head>
<body>
<footer class="footer">
<p>Revision <?php echo $revision; ?></p>
</footer>
</body>
</html>
好的,我刚刚解决了。
似乎当您禁用 exec
时,shell_exec
也不起作用。
对于你的问题来说可能有点矫枉过正,但我在部署之前使用 ANT 来构建我的网站。使用此 ANT 构建,可以删除、移动、添加或更改某些文件。 这样你就可以在配置文件中放置 GIT 标签(我总是在 building/deploy 之前使用标签)。请参阅我的其他 post 配置文件。
我用ANT大致做了以下事情:
- 制作 GIT 在单独的文件夹中创建副本
- 删除所有不应上线的文件
- 对配置文件进行一些更改
- 创建一个包含所有提交的 CHANGELOG 文件,并以 GIT 标签分隔以便更好地阅读。
然后,盲目地将所有内容一次性上传是安全的 FTP 运行。
在配置文件中获取最新标签的步骤:
- 创建一个配置文件,例如您的根文件夹 ("site.default.properties")
- 在其中放置一个修订属性 (SITE_REVISION_NUMBER=xxxx)
- 让 ANT 与 GIT 一起工作以获得 GIT 信息
最后一件事在 ANT 构建脚本中可以像这样工作:
<property name="GIT-src" location="/home/martin/deploy/build"/>
<exec executable="git"
failonerror="true"
outputproperty="tag.current"
dir="${GIT-src}">
<arg line="describe --tag"/>
</exec>
然后你有一个 属性 ("tag.current") 你可以放入一个配置文件并从 PHP:
读取它<propertyfile
file="${deploy}/site.default.properties"
comment="Site properties">
<entry key="SITE_REVISION_NUMBER" value="${tag.current}"/>
</propertyfile>