ふとCodeIgniterの本家のサイト(http://www.codeigniter.com/)3.0のリリース候補版が1月26日公開されていました。ベータバージョン以前はマニュアルが読めませんでしたが、候補版ではすっきり読めるようになっています。
Nginxでも動作します。設定ファイルは取り敢えず次のようにしています。
# for CodeIgniter3 server { listen 80; # listen [::]:80 default_server ipv6only=on; # root /usr/share/nginx/html; root /var/www/cisites/codeigniter3; index index.php index.html; # Make site accessible from http://localhost.ci3/ server_name localhost.ci3; access_log /var/log/nginx/ci3_access.log; error_log /var/log/nginx/ci3_error.log; location / { try_files $uri $uri/ /index.php?$uri&$args; if (!-e $request_filename) { rewrite ^(.+)$ /index.php?url=$1 last; break; } } #error_page 404 /404.html; # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini # With php5-cgi alone: # fastcgi_pass 127.0.0.1:9000; # With php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include /etc/nginx/fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } }
サイトの構成は、次のようになっています。
codeigniter3 ├── DCO.txt ├── application │ ├── cache │ │ └── index.html │ ├── config │ │ ├── autoload.php │ │ ├── config.php │ │ ├── constants.php │ │ ├── database.php │ │ ├── doctypes.php │ │ ├── foreign_chars.php │ │ ├── hooks.php │ │ ├── index.html │ │ ├── memcached.php │ │ ├── migration.php │ │ ├── mimes.php │ │ ├── profiler.php │ │ ├── routes.php │ │ ├── smileys.php │ │ └── user_agents.php │ ├── controllers │ │ ├── Welcome.php │ │ └── index.html │ ├── core │ │ └── index.html │ ├── helpers │ │ └── index.html │ ├── hooks │ │ └── index.html │ ├── index.html │ ├── language │ │ ├── english │ │ │ └── index.html │ │ └── index.html │ ├── libraries │ │ └── index.html │ ├── logs │ │ └── index.html │ ├── models │ │ └── index.html │ ├── third_party │ │ └── index.html │ └── views │ ├── errors │ │ ├── cli │ │ │ ├── error_404.php │ │ │ ├── error_db.php │ │ │ ├── error_exception.php │ │ │ ├── error_general.php │ │ │ ├── error_php.php │ │ │ └── index.html │ │ ├── html │ │ │ ├── error_404.php │ │ │ ├── error_db.php │ │ │ ├── error_exception.php │ │ │ ├── error_general.php │ │ │ ├── error_php.php │ │ │ └── index.html │ │ └── index.html │ ├── index.html │ └── welcome_message.php ├── composer.json ├── contributing.md ├── index.php ├── license.txt ├── readme.rst ├── system │ ├── core │ │ ├── Benchmark.php │ │ ├── CodeIgniter.php │ │ ├── Common.php │ │ ├── Config.php │ │ ├── Controller.php │ │ ├── Exceptions.php │ │ ├── Hooks.php │ │ ├── Input.php │ │ ├── Lang.php │ │ ├── Loader.php │ │ ├── Log.php │ │ ├── Model.php │ │ ├── Output.php │ │ ├── Router.php │ │ ├── Security.php │ │ ├── URI.php │ │ ├── Utf8.php │ │ ├── compat │ │ │ ├── hash.php │ │ │ ├── index.html │ │ │ ├── mbstring.php │ │ │ ├── password.php │ │ │ └── standard.php │ │ └── index.html │ ├── database │ │ ├── DB.php │ │ ├── DB_cache.php │ │ ├── DB_driver.php │ │ ├── DB_forge.php │ │ ├── DB_query_builder.php │ │ ├── DB_result.php │ │ ├── DB_utility.php │ │ ├── drivers │ │ │ ├── cubrid │ │ │ │ ├── cubrid_driver.php │ │ │ │ ├── cubrid_forge.php │ │ │ │ ├── cubrid_result.php │ │ │ │ ├── cubrid_utility.php │ │ │ │ └── index.html │ │ │ ├── ibase │ │ │ │ ├── ibase_driver.php │ │ │ │ ├── ibase_forge.php │ │ │ │ ├── ibase_result.php │ │ │ │ ├── ibase_utility.php │ │ │ │ └── index.html │ │ │ ├── index.html │ │ │ ├── mssql │ │ │ │ ├── index.html │ │ │ │ ├── mssql_driver.php │ │ │ │ ├── mssql_forge.php │ │ │ │ ├── mssql_result.php │ │ │ │ └── mssql_utility.php │ │ │ ├── mysql │ │ │ │ ├── index.html │ │ │ │ ├── mysql_driver.php │ │ │ │ ├── mysql_forge.php │ │ │ │ ├── mysql_result.php │ │ │ │ └── mysql_utility.php │ │ │ ├── mysqli │ │ │ │ ├── index.html │ │ │ │ ├── mysqli_driver.php │ │ │ │ ├── mysqli_forge.php │ │ │ │ ├── mysqli_result.php │ │ │ │ └── mysqli_utility.php │ │ │ ├── oci8 │ │ │ │ ├── index.html │ │ │ │ ├── oci8_driver.php │ │ │ │ ├── oci8_forge.php │ │ │ │ ├── oci8_result.php │ │ │ │ └── oci8_utility.php │ │ │ ├── odbc │ │ │ │ ├── index.html │ │ │ │ ├── odbc_driver.php │ │ │ │ ├── odbc_forge.php │ │ │ │ ├── odbc_result.php │ │ │ │ └── odbc_utility.php │ │ │ ├── pdo │ │ │ │ ├── index.html │ │ │ │ ├── pdo_driver.php │ │ │ │ ├── pdo_forge.php │ │ │ │ ├── pdo_result.php │ │ │ │ ├── pdo_utility.php │ │ │ │ └── subdrivers │ │ │ │ ├── index.html │ │ │ │ ├── pdo_4d_driver.php │ │ │ │ ├── pdo_4d_forge.php │ │ │ │ ├── pdo_cubrid_driver.php │ │ │ │ ├── pdo_cubrid_forge.php │ │ │ │ ├── pdo_dblib_driver.php │ │ │ │ ├── pdo_dblib_forge.php │ │ │ │ ├── pdo_firebird_driver.php │ │ │ │ ├── pdo_firebird_forge.php │ │ │ │ ├── pdo_ibm_driver.php │ │ │ │ ├── pdo_ibm_forge.php │ │ │ │ ├── pdo_informix_driver.php │ │ │ │ ├── pdo_informix_forge.php │ │ │ │ ├── pdo_mysql_driver.php │ │ │ │ ├── pdo_mysql_forge.php │ │ │ │ ├── pdo_oci_driver.php │ │ │ │ ├── pdo_oci_forge.php │ │ │ │ ├── pdo_odbc_driver.php │ │ │ │ ├── pdo_odbc_forge.php │ │ │ │ ├── pdo_pgsql_driver.php │ │ │ │ ├── pdo_pgsql_forge.php │ │ │ │ ├── pdo_sqlite_driver.php │ │ │ │ ├── pdo_sqlite_forge.php │ │ │ │ ├── pdo_sqlsrv_driver.php │ │ │ │ └── pdo_sqlsrv_forge.php │ │ │ ├── postgre │ │ │ │ ├── index.html │ │ │ │ ├── postgre_driver.php │ │ │ │ ├── postgre_forge.php │ │ │ │ ├── postgre_result.php │ │ │ │ └── postgre_utility.php │ │ │ ├── sqlite │ │ │ │ ├── index.html │ │ │ │ ├── sqlite_driver.php │ │ │ │ ├── sqlite_forge.php │ │ │ │ ├── sqlite_result.php │ │ │ │ └── sqlite_utility.php │ │ │ ├── sqlite3 │ │ │ │ ├── index.html │ │ │ │ ├── sqlite3_driver.php │ │ │ │ ├── sqlite3_forge.php │ │ │ │ ├── sqlite3_result.php │ │ │ │ └── sqlite3_utility.php │ │ │ └── sqlsrv │ │ │ ├── index.html │ │ │ ├── sqlsrv_driver.php │ │ │ ├── sqlsrv_forge.php │ │ │ ├── sqlsrv_result.php │ │ │ └── sqlsrv_utility.php │ │ └── index.html │ ├── fonts │ │ ├── index.html │ │ └── texb.ttf │ ├── helpers │ │ ├── array_helper.php │ │ ├── captcha_helper.php │ │ ├── cookie_helper.php │ │ ├── date_helper.php │ │ ├── directory_helper.php │ │ ├── download_helper.php │ │ ├── email_helper.php │ │ ├── file_helper.php │ │ ├── form_helper.php │ │ ├── html_helper.php │ │ ├── index.html │ │ ├── inflector_helper.php │ │ ├── language_helper.php │ │ ├── number_helper.php │ │ ├── path_helper.php │ │ ├── security_helper.php │ │ ├── smiley_helper.php │ │ ├── string_helper.php │ │ ├── text_helper.php │ │ ├── typography_helper.php │ │ ├── url_helper.php │ │ └── xml_helper.php │ ├── index.html │ ├── language │ │ ├── english │ │ │ ├── calendar_lang.php │ │ │ ├── date_lang.php │ │ │ ├── db_lang.php │ │ │ ├── email_lang.php │ │ │ ├── form_validation_lang.php │ │ │ ├── ftp_lang.php │ │ │ ├── imglib_lang.php │ │ │ ├── index.html │ │ │ ├── migration_lang.php │ │ │ ├── number_lang.php │ │ │ ├── pagination_lang.php │ │ │ ├── profiler_lang.php │ │ │ ├── unit_test_lang.php │ │ │ └── upload_lang.php │ │ └── index.html │ └── libraries │ ├── Cache │ │ ├── Cache.php │ │ ├── drivers │ │ │ ├── Cache_apc.php │ │ │ ├── Cache_dummy.php │ │ │ ├── Cache_file.php │ │ │ ├── Cache_memcached.php │ │ │ ├── Cache_redis.php │ │ │ ├── Cache_wincache.php │ │ │ └── index.html │ │ └── index.html │ ├── Calendar.php │ ├── Cart.php │ ├── Driver.php │ ├── Email.php │ ├── Encrypt.php │ ├── Encryption.php │ ├── Form_validation.php │ ├── Ftp.php │ ├── Image_lib.php │ ├── Javascript │ │ ├── Jquery.php │ │ └── index.html │ ├── Javascript.php │ ├── Migration.php │ ├── Pagination.php │ ├── Parser.php │ ├── Profiler.php │ ├── Session │ │ ├── Session.php │ │ ├── SessionHandlerInterface.php │ │ ├── Session_driver.php │ │ ├── drivers │ │ │ ├── Session_database_driver.php │ │ │ ├── Session_files_driver.php │ │ │ ├── Session_memcached_driver.php │ │ │ ├── Session_redis_driver.php │ │ │ └── index.html │ │ └── index.html │ ├── Table.php │ ├── Trackback.php │ ├── Typography.php │ ├── Unit_test.php │ ├── Upload.php │ ├── User_agent.php │ ├── Xmlrpc.php │ ├── Xmlrpcs.php │ ├── Zip.php │ └── index.html ├── tests │ ├── Bootstrap.php │ ├── README.md │ ├── codeigniter │ │ ├── Setup_test.php │ │ ├── core │ │ │ ├── Benchmark_test.php │ │ │ ├── Common_test.php │ │ │ ├── Config_test.php │ │ │ ├── Input_test.php │ │ │ ├── Lang_test.php │ │ │ ├── Loader_test.php │ │ │ ├── Model_test.php │ │ │ ├── Output_test.php │ │ │ ├── Security_test.php │ │ │ ├── URI_test.php │ │ │ ├── Utf8_test.php │ │ │ └── compat │ │ │ ├── hash_test.php │ │ │ ├── mbstring_test.php │ │ │ ├── password_test.php │ │ │ └── standard_test.php │ │ ├── database │ │ │ ├── DB_driver_test.php │ │ │ ├── DB_test.php │ │ │ └── query_builder │ │ │ ├── count_test.php │ │ │ ├── delete_test.php │ │ │ ├── distinct_test.php │ │ │ ├── empty_test.php │ │ │ ├── escape_test.php │ │ │ ├── from_test.php │ │ │ ├── get_test.php │ │ │ ├── group_test.php │ │ │ ├── insert_test.php │ │ │ ├── join_test.php │ │ │ ├── like_test.php │ │ │ ├── limit_test.php │ │ │ ├── order_test.php │ │ │ ├── select_test.php │ │ │ ├── truncate_test.php │ │ │ ├── update_test.php │ │ │ └── where_test.php │ │ ├── helpers │ │ │ ├── array_helper_test.php │ │ │ ├── captcha_helper_test.php │ │ │ ├── cookie_helper_test.php │ │ │ ├── date_helper_test.php │ │ │ ├── directory_helper_test.php │ │ │ ├── download_helper_test.php │ │ │ ├── email_helper_test.php │ │ │ ├── file_helper_test.php │ │ │ ├── form_helper_test.php │ │ │ ├── html_helper_test.php │ │ │ ├── inflector_helper_test.php │ │ │ ├── language_helper_test.php │ │ │ ├── number_helper_test.php │ │ │ ├── path_helper_test.php │ │ │ ├── security_helper_test.php │ │ │ ├── string_helper_test.php │ │ │ ├── text_helper_test.php │ │ │ ├── url_helper_test.php │ │ │ └── xml_helper_test.php │ │ └── libraries │ │ ├── Calendar_test.php │ │ ├── Driver_test.php │ │ ├── Encrypt_test.php │ │ ├── Encryption_test.php │ │ ├── Parser_test.php │ │ ├── Session_test.php │ │ ├── Table_test.php │ │ ├── Typography_test.php │ │ ├── Upload_test.php │ │ └── Useragent_test.php │ ├── mocks │ │ ├── autoloader.php │ │ ├── ci_testcase.php │ │ ├── ci_testconfig.php │ │ ├── core │ │ │ ├── common.php │ │ │ ├── input.php │ │ │ ├── security.php │ │ │ ├── uri.php │ │ │ └── utf8.php │ │ ├── database │ │ │ ├── ci_test.sqlite │ │ │ ├── config │ │ │ │ ├── mysql.php │ │ │ │ ├── mysqli.php │ │ │ │ ├── pdo │ │ │ │ │ ├── mysql.php │ │ │ │ │ ├── pgsql.php │ │ │ │ │ └── sqlite.php │ │ │ │ ├── pgsql.php │ │ │ │ └── sqlite.php │ │ │ ├── db │ │ │ │ └── driver.php │ │ │ ├── db.php │ │ │ ├── drivers │ │ │ │ ├── mysql.php │ │ │ │ ├── mysqli.php │ │ │ │ ├── pdo.php │ │ │ │ ├── postgre.php │ │ │ │ └── sqlite.php │ │ │ └── schema │ │ │ └── skeleton.php │ │ ├── libraries │ │ │ ├── driver.php │ │ │ ├── encrypt.php │ │ │ ├── encryption.php │ │ │ ├── session.php │ │ │ └── table.php │ │ └── uploads │ │ └── ci_logo.gif │ ├── phpunit.xml │ └── travis │ ├── mysql.phpunit.xml │ ├── mysqli.phpunit.xml │ ├── pdo │ │ ├── mysql.phpunit.xml │ │ ├── pgsql.phpunit.xml │ │ └── sqlite.phpunit.xml │ ├── pgsql.phpunit.xml │ └── sqlite.phpunit.xml └── user_guide ├── DCO.html ├── _downloads │ └── ELDocs.tmbundle.zip ├── _images │ ├── appflowchart.gif │ └── smile.gif ├── _static │ ├── ajax-loader.gif │ ├── basic.css │ ├── ci-icon.ico │ ├── comment-bright.png │ ├── comment-close.png │ ├── comment.png │ ├── css │ │ ├── badge_only.css │ │ └── theme.css │ ├── doctools.js │ ├── down-pressed.png │ ├── down.png │ ├── file.png │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ ├── jquery.js │ ├── js │ │ └── theme.js │ ├── minus.png │ ├── plus.png │ ├── pygments.css │ ├── searchtools.js │ ├── underscore.js │ ├── up-pressed.png │ ├── up.png │ └── websupport.js ├── changelog.html ├── contributing │ └── index.html ├── database │ ├── caching.html │ ├── call_function.html │ ├── configuration.html │ ├── connecting.html │ ├── db_driver_reference.html │ ├── examples.html │ ├── forge.html │ ├── helpers.html │ ├── index.html │ ├── metadata.html │ ├── queries.html │ ├── query_builder.html │ ├── results.html │ ├── transactions.html │ └── utilities.html ├── documentation │ └── index.html ├── general │ ├── alternative_php.html │ ├── ancillary_classes.html │ ├── autoloader.html │ ├── caching.html │ ├── cli.html │ ├── common_functions.html │ ├── compatibility_functions.html │ ├── controllers.html │ ├── core_classes.html │ ├── creating_drivers.html │ ├── creating_libraries.html │ ├── credits.html │ ├── drivers.html │ ├── environments.html │ ├── errors.html │ ├── helpers.html │ ├── hooks.html │ ├── index.html │ ├── libraries.html │ ├── managing_apps.html │ ├── models.html │ ├── profiling.html │ ├── requirements.html │ ├── reserved_names.html │ ├── routing.html │ ├── security.html │ ├── styleguide.html │ ├── urls.html │ ├── views.html │ └── welcome.html ├── genindex.html ├── helpers │ ├── array_helper.html │ ├── captcha_helper.html │ ├── cookie_helper.html │ ├── date_helper.html │ ├── directory_helper.html │ ├── download_helper.html │ ├── email_helper.html │ ├── file_helper.html │ ├── form_helper.html │ ├── html_helper.html │ ├── index.html │ ├── inflector_helper.html │ ├── language_helper.html │ ├── number_helper.html │ ├── path_helper.html │ ├── security_helper.html │ ├── smiley_helper.html │ ├── string_helper.html │ ├── text_helper.html │ ├── typography_helper.html │ ├── url_helper.html │ └── xml_helper.html ├── index.html ├── installation │ ├── downloads.html │ ├── index.html │ ├── troubleshooting.html │ ├── upgrade_120.html │ ├── upgrade_130.html │ ├── upgrade_131.html │ ├── upgrade_132.html │ ├── upgrade_133.html │ ├── upgrade_140.html │ ├── upgrade_141.html │ ├── upgrade_150.html │ ├── upgrade_152.html │ ├── upgrade_153.html │ ├── upgrade_154.html │ ├── upgrade_160.html │ ├── upgrade_161.html │ ├── upgrade_162.html │ ├── upgrade_163.html │ ├── upgrade_170.html │ ├── upgrade_171.html │ ├── upgrade_172.html │ ├── upgrade_200.html │ ├── upgrade_201.html │ ├── upgrade_202.html │ ├── upgrade_203.html │ ├── upgrade_210.html │ ├── upgrade_211.html │ ├── upgrade_212.html │ ├── upgrade_213.html │ ├── upgrade_214.html │ ├── upgrade_220.html │ ├── upgrade_221.html │ ├── upgrade_300.html │ ├── upgrade_b11.html │ └── upgrading.html ├── libraries │ ├── benchmark.html │ ├── caching.html │ ├── calendar.html │ ├── cart.html │ ├── config.html │ ├── email.html │ ├── encrypt.html │ ├── encryption.html │ ├── file_uploading.html │ ├── form_validation.html │ ├── ftp.html │ ├── image_lib.html │ ├── index.html │ ├── input.html │ ├── javascript.html │ ├── language.html │ ├── loader.html │ ├── migration.html │ ├── output.html │ ├── pagination.html │ ├── parser.html │ ├── security.html │ ├── sessions.html │ ├── table.html │ ├── trackback.html │ ├── typography.html │ ├── unit_testing.html │ ├── uri.html │ ├── user_agent.html │ ├── xmlrpc.html │ └── zip.html ├── license.html ├── objects.inv ├── overview │ ├── appflow.html │ ├── at_a_glance.html │ ├── features.html │ ├── getting_started.html │ ├── goals.html │ ├── index.html │ └── mvc.html ├── search.html ├── searchindex.js └── tutorial ├── conclusion.html ├── create_news_items.html ├── index.html ├── news_section.html └── static_pages.html 81 directories, 539 files
インストールした後、Nginxの上の設定では、/application/config/config.phpの次の箇所を変更する必要がありました。
/* |-------------------------------------------------------------------------- | URI PROTOCOL |-------------------------------------------------------------------------- | | This item determines which server global should be used to retrieve the | URI string. The default setting of 'AUTO' works for most servers. | If your links do not seem to work, try one of the other delicious flavors: | | 'AUTO' Default - auto detects | 'CLI' or 'argv' Uses $_SERVER['argv'] (for php-cli only) | 'PATH_INFO' Uses $_SERVER['PATH_INFO'] | 'REQUEST_URI' Uses $_SERVER['REQUEST_URI'] | 'QUERY_STRING' Uses $_SERVER['QUERY_STRING'] | */ //$config['uri_protocol'] = 'AUTO'; $config['uri_protocol'] = 'REQUEST_URI';
ついでに、環境に合わせてBASE_URLの設定もしておけば良いと思います。
トップ画面はいつものようになります。英語ですがユーザーガイドが付いていて、学べるようになっています。
CodeIgniter1.x/2.x/3.xでどう変わったのか、調べてみます。
【追記】
CodeIgniter3.0のRC2が今月の2月3日に公開されていました。つまり、リリース候補版です。なので、公開は間近だと思います。3.0の最大の変更点は、ライセンスがMITライセンスに変わったことだと思います。これで、いろんな意味において使いやすくなると思います。兎に角、フレームワークというと学習コストが高いのが短所ですが、CodeIgniterは極めて低い。かつ、かなり高速のようです。その特長は3.xでも生かされると思います。