Symphony是一个基于PHP和MySQL的CMS,利用XML和XSLT作为其核心技术。 当前发布版本2.6.11,被认为是稳定的。
服务器要求
- PHP 5.3,5.4,5.5或5.6
- PHP的LibXML模块,启用了XSLT扩展(--with-xsl)
- MySQL 5.5或更高版本
- Apache或Litespeed网络服务器
- Apache的mod_rewrite模块或等效的
开源XSLT CMS。(Open Source XSLT CMS)
Symphony是一个基于PHP和MySQL的CMS,利用XML和XSLT作为其核心技术。 当前发布版本2.6.11,被认为是稳定的。
名稱與所有者 | symphonycms/symphonycms |
---|---|
主編程語言 | PHP |
編程語言 | JavaScript (語言數: 7) |
平台 | |
許可證 | MIT License |
發布數 | 103 |
最新版本名稱 | 3.0.0 (發布於 2020-03-27 12:13:33) |
第一版名稱 | rev5 (發布於 2008-09-18 21:57:28) |
創建於 | 2010-07-17 11:14:07 |
推送於 | 2022-12-06 17:22:34 |
最后一次提交 | 2020-03-27 12:13:27 |
星數 | 543 |
關注者數 | 62 |
派生數 | 213 |
提交數 | 6.4k |
已啟用問題? | |
問題數 | 1494 |
打開的問題數 | 82 |
拉請求數 | 671 |
打開的拉請求數 | 18 |
關閉的拉請求數 | 250 |
已啟用Wiki? | |
已存檔? | |
是復刻? | |
已鎖定? | |
是鏡像? | |
是私有? |
Symphony is a PHP
& MySQL
based CMS that utilises XML
and XSLT
as its core technologies. This repository represents version 2.7.10
and is considered stable.
Useful places:
--with-xsl
)mod_rewrite
module or equivalentjson
functions, which are enabled by default in PHP 5.2 and above; if they are missing, ensure PHP wasn’t compiled with --disable-json
Before installation, see the notes on file permissions.
Clone the Symphony Git repository to the desired location:
git clone git://github.com/symphonycms/symphony-2.git target-directory
cd target-directory
(Replace target-directory
with your chosen new directory name.)
(Optional) If you would like to add the bundled optional extensions, run the following commands to checkout the bundle
branch which contains the Git submodules references and update the submodules:
git checkout --track origin/bundle
git submodule update --init --recursive
The extensions included in the optional bundle:
(Optional) If you would like to install the example workspace, which aims to teach newcomers by showcasing basic features and functionalities using a typical blog set-up, run:
git clone git://github.com/symphonycms/workspace.git
Point your web browser at the install
subdirectory (e.g., http://example.com/install/
) and provide details on establishing a database connection and your server environment.
Chuckle villainously and tap your fingertips together (or pet a cat) as your installation completes.
Remove installer files:
rm -rf install/ workspace/install.sql
This step assumes you downloaded a zip archive from the Symphony website. Upload the following files and directories to the root directory of your website:
index.php
/extensions
/install
/symphony
/workspace
(leave out if you don’t require the example workspace)/vendor
Point your web browser at the install
subdirectory (e.g., http://example.com/install/
) and provide details on establishing a database connection and your server environment.
Pose like you’re being filmed for a dramatic close-up while your installation completes.
Remove installer files:
rm -rf install/ workspace/install.sql
Symphony’s installer will inform you if it needs write access to directories that it doesn’t already have, but you can ensure it has the access it needs by temporarily setting the root to world-writeable.
chmod 777 /your/site/root/
Once Symphony is successfully installed, you should change file/directory permissions to something tighter for security reasons. Symphony recommends 755
for directories and 644
for files as a good default, but this may need to be changed depending on your server’s users and groups configuration. For example, you may need to change directories and files that Symphony needs to subsequently write to to 777
and 666
respectively.
You may find these commands useful when adjusting file and directory permissions.
To recursively chmod directories only:
find /your/site/root -type d -exec chmod 755 {} \;
To recursively chmod files only:
find /your/site/root -type f -exec chmod 644 {} \;
Symphony 2.3
officially only supports updating from a 2.2.x
release. There are various changes between 2.1
and 2.3
that make this update unlikely to be successful. Symphony 2.3
also enforces that all authors have unique email addresses, so please ensure that this constraint is met before updating.
Symphony 2.2
introduces numerous improvements that may affect extension compatibility. Before updating, be sure to consult the extension compatibility table to verify that the extensions you’re using have all been updated for Symphony 2.2
.
As of version 2.1
, Symphony stores passwords using the more secure SHA1 algorithm (previous versions used MD5). When updating to 2.1
, the primary user’s login password will be reset (the new password will be displayed by the updater—please note it).
Please also note that all other users’ passwords will no longer be valid and will require a manual reset through Symphony’s forgotten password feature. Alternatively, as an administrator, you can also change your users’ passwords on their behalf.
We are now using GitHub’s organisations feature. As a result, all submodules—as well as the main Symphony 2 repo—are forks owned by the Symphony CMS organisation.
To fully update your Git-based installation, please edit your .git/config
and the .git/config
of each core extension (debugdevkit
, profiledevkit
, markdown
, maintenance_mode
, selectbox_link_field
, jit_image_manipulation
and export_ensemble
) and change the URL of the remote repo from symphony
or pointybeard
to be symphonycms
.
For example:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/pointybeard/markdown.git
Change git://github.com/pointybeard/markdown.git
to git://github.com/symphonycms/markdown.git
Version 2.0.5
introduced multiple includable elements in the Data Source Editor for a single field. After updating from 2.0.5
or lower, the DS editor will seem to “forget” about any Textarea
fields selected when you are editing existing Data Sources. After updating, you must ensure you re-select them before saving. Note, this will only effect Data Sources that you edit and were created prior to 2.0.5
. Until that point, the field will still be included in any front-end XML.
Pull from the master branch at git://github.com/symphonycms/symphony-2.git
Use the following two commands to bring extensions up to date:
git submodule update --init --recursive
git submodule update --recursive
If updating from a version older than 2.0.5
, enable the Debug DevKit and Profile DevKit extensions.
Point your web browser at the install
subdirectory (e.g., http://example.com/install/
) to complete the update process.
You and your website are now in the future. Buy yourself a silver jumpsuit.
Follow the instructions below if you are updating from Symphony 2.0 (not from Git)
Note: As of 2.0.6, there is no longer a need to backup /symphony/.htaccess
.
Upload /symphony
, /install
, /vendor
& index.php
, replacing what is already on your server.
If updating from a version older than 2.0.5
, enable the Debug DevKit and Profile DevKit extensions.
Point your web browser at the install
subdirectory (e.g., http://example.com/install/
) to complete the update process.
Call a friend and brag that your copy of Symphony is newer than theirs.
Symphony uses Grunt to build concatenated and minified assets:
Install grunt-cli
globally (see the Grunt documentation):
npm install -g grunt-cli
Install all dependencies from the repository’s root:
npm install
Run the watch
task:
grunt watch
Symphony’s minified script and style files will be updated automatically when saving source files.
More information: Contributing to Symphony.
Please follow the guideline for security bug disclosure.