當打開/etc/inittab 文件時, 會看到:
inittab is no longer used,
Adding configuration here will have no effect on system.
systemd uses 'targets' instead of runlevels. By default, there are two main targets:
multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5
To view current default target, run: systemctl get-default
To set a default target, run systemctl set-default TARGET.target
php
一個是系統服務service, 像不少的 系統服務包括httpd.service等都是放在 systemd/system下的;html
另外一個就是 系統的啓動管理.包括原來的 /etc/inittab, runlevels 等 都是由 systemd/system/下的target 來管理的了.mysql
target 被設計成層級結構,逐級包含和require. 好比: multi-user.target就相似於原來的 runlevel3 它包含 basic.target. 而graphical.target就相似於(analogous to)原來的runlevel5. 它又包含 multi-user.target.每一個target都有對應的需求啓動項,包含在對應的 *.target.wants(wants 就是對應的目標所須要的內容...)linux
在每一個target中, 的內容是: 規定了前提條件: requisite, 先於當前target 啓動的服務Before=...,當前服務啓動後, 而後還要啓動的服務 After=... sql
[foo@localhost system]$ ls *.wants ## 查看各個目標須要的wants, 每一個wants下列出了須要的哪些服務. systemd就是這樣來管理系統啓動的 anaconda.target.wants: anaconda-nm-config.service anaconda-tmux@tty2.service # basic.target.wants: alsa-restore.service alsa-state.service fedora-autorelabel-mark.service fedora-autorelabel.service fedora-loadmodules.service busnames.target.wants: org.freedesktop.hostname1.busname org.freedesktop.login1.busname org.freedesktop.resolve1.busname org.freedesktop.import1.busname org.freedesktop.machine1.busname org.freedesktop.systemd1.busname org.freedesktop.locale1.busname org.freedesktop.network1.busname org.freedesktop.timedate1.busname dbus.target.wants: default.target.wants: # graphic.target包含(requires multi-user.target, multi-user.target又requires basic.target) graphical.target.wants: systemd-update-utmp-runlevel.service # multi-user.target須要的wants. multi-user.target.wants: dbus.service plymouth-quit.service systemd-ask-password-wall.path systemd-update-utmp-runlevel.service getty.target plymouth-quit-wait.service systemd-logind.service systemd-user-sessions.service
[foo@localhost ~]$ cat > 重定向文件名.txt <<eof > [daemon] > autologinEnabled = true > autologinUser = liveuser > eof (若是是在腳本中, 就沒有前面的大於符號)
utmp maintains a full accounting of the current status of the system, system boot time (used by uptime), recording user logins at which terminals, logouts, system events etc.thinkphp
wtmp acts as a historical utmp數據庫
btmp records failed login attemptsapache
gsettings set org.gnome.SessionManager auto-save-session truecentos
只能恢復第一個 workspace中的 內容 所以, 若是你想 下次開機時, 仍是有這些內容,
能夠把他們都放在第一個workspace中,數組
namespace 指的是所在的目錄,是位置
而use 是指的使用的類文件,是文件
控制器的類名應該是:Foo + Controller:FooController 而不僅是單單的class Foo. 你是繼承自Controller的,那天然你也應該是 xxxController才行。
# LoadModule rewrite_module
LoadModule後面的模塊名稱使用的是 ModuleName_module 外, 其餘地方都是使用 的 mod_modulename, 好比:LoadModule rewrite_module modules/mod_rewrite.so httpd.conf中: <IfModule mod_rewrite> .... </IfModule> thinkphp中的.htaccess 配置中: <IfModule mod_rewrite.c> ... <IfModule>
要使用URL 模式爲重寫模式, 要求 .htaccess要和 入口文件index.php放在同一位置. 同一個目錄下才行. 固然 的, rewrite的做用就不 只是 省略入口文件
.htaccess文件
是用來 影響 你要設置的某個目錄的, 因此, 若是你要處理某個目錄, 不必定是 Application/目錄, 就要在對應的目錄下 建立 相應的 .htaccess文件, 這個.ht..文件能夠有多個http://servername/
後面的內容才重寫, 對servername/ 老是不重寫無論的.也能夠本身寫 重寫規則, 不必定只是 那個 省略index.php的重寫規則 好比下面的規則就是 將 cool的訪問 重寫/重定向到bar的操做action RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^Home/Foo/cool$ index.php/Home/Foo/bar [QSA,PT,L] # 默認的重寫規則是: RewriteRule ^.*$ index.php/$1 [QSA,PT,L] 當訪問以下的url地址時, http://localhost/Home/Foo/cool?val=3 得到的 dump($_SERVER) 的輸出: array 'REDIRECT_STATUS' => string '200' (length=3) 'HTTP_HOST' => string 'localhost' (length=9) 'HTTP_USER_AGENT' => string 'Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0' (length=65) 'HTTP_ACCEPT' => string 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' (length=63) 'HTTP_ACCEPT_LANGUAGE' => string 'en-US,en;q=0.5' (length=14) 'HTTP_ACCEPT_ENCODING' => string 'gzip, deflate' (length=13) 'HTTP_COOKIE' => string 'PHPSESSID=ufujblmd3tnp9ch7lsao4ov594; pgv_pvi=8625812480; pgv_si=s4041340928' (length=76) 'HTTP_CONNECTION' => string 'keep-alive' (length=10) 'PATH' => string 'C:\Program Files\Intel\iCLS Client\;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Windows Live\Shared;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;' (length=363) 'SystemRoot' => string 'C:\Windows' (length=10) 'COMSPEC' => string 'C:\Windows\system32\cmd.exe' (length=27) 'PATHEXT' => string '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC' (length=53) 'WINDIR' => string 'C:\Windows' (length=10) 'SERVER_SIGNATURE' => string '' (length=0) 'SERVER_SOFTWARE' => string 'Apache/2.2.17 (Win32) PHP/5.3.5' (length=31) 'SERVER_NAME' => string 'localhost' (length=9) 'SERVER_ADDR' => string '127.0.0.1' (length=9) 'SERVER_PORT' => string '80' (length=2) 'REMOTE_ADDR' => string '127.0.0.1' (length=9) 'DOCUMENT_ROOT' => string 'C:/wamp/www/' (length=12) 'SERVER_ADMIN' => string 'admin@localhost' (length=15) 'SCRIPT_FILENAME' => string 'C:/wamp/www/index.php' (length=21) 'REMOTE_PORT' => string '53416' (length=5) 'REDIRECT_QUERY_STRING' => string 'val=3' (length=5) 'REDIRECT_URL' => string '/Home/Foo/cool' (length=14) 'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7) 'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8) 'REQUEST_METHOD' => string 'GET' (length=3) 'QUERY_STRING' => string 'val=3' (length=5) // 不論是query,仍是 request等, 都沒有ing 'REQUEST_URI' => string '/Home/Foo/cool?val=3' (length=20) // REQUEST_URI 是最真是/最直接的 請求地址, 就是跟瀏覽器的地址欄中的內容徹底同樣. 'SCRIPT_NAME' => string '/index.php' (length=10) // 會顯示 真實的 腳本名稱,在 servername後面的 腳本名稱, 如這裏的 /index.php 'PATH_INFO' => string 'Foo/bar' (length=7) // PATH_INFO 包含的是: 控制器/操做: Controller/Action 'PATH_TRANSLATED' => string 'C:\wamp\www\Home\Foo\bar' (length=24) 'PHP_SELF' => string '/index.php/Home/Foo/bar' (length=23) 是用來 和 REQUEST_URI 區分查詢字符串的, 是 REQUEST_URI去掉查詢字符串後的內容. 'REQUEST_TIME' => int 1516797830
一般來講, 只有 變量(及其 變量數組的 下標) 是在win下 嚴格區分大小寫的. 而其餘都不分大小寫.
可是 , 在 linux下, 一切 都是區分 大小寫的 , 一切都是 case sensitive的.
因此 養成一個習慣, 不論是在 哪一種平臺下, 不論是win, 仍是 linux下, 都要養成 區分大小寫的習慣.
=======================
<IfModule [!] module_file | module_name >... </IfModule>
格式中, ifmodule是指, 判斷所指定的 模塊 是否指定/是否 啓用/是否生效 來決定是否啓用中間的代碼段. 其中, 可使用 否認的 符號!, 後面的條件能夠用 編譯模塊時的文件名, 也能夠指定 模塊名稱, 因此, <IfModule mod_rewrite.c 或者 mod_rewrite
都是能夠的.在linux下, httpd的 module 模塊插件, 是放在 /usr/lib/httpd/modules這個目錄下的, 配置文件中的 mod_路徑也是以 這個目錄下 爲相對路徑的: LoadModule rewrite_module modules/mod_rewrite.so