-
Notifications
You must be signed in to change notification settings - Fork 3k
INI Settings
Josh Watzman edited this page Jan 26, 2015
·
41 revisions
Here is the raw list of all possible ini settings that can go in your /etc/hhvm/php.ini
or /etc/hhvm/server.ini
file. Not all of them are useful, many are redundant, tons are useless (or only useful at Facebook scale) and many others are useful. There is lots of cleanup work to do here, but for now you get a sorted list, sorry.
This list is just the HHVM-specific options. Many standard PHP options are also supported by HHVM, meaning the same thing that they do to PHP5. So your favorite option may just work out of the box with the same name.
INI Setting | Documentation | Default |
---|---|---|
hhvm.admin_server.password | A password required for all requests to the admin server, other than the index. Is passed to the request as the auth request var. |
empty string |
hhvm.admin_server.port | The port the admin server should listen on. If set to 0, the admin server is not started. | 0 |
hhvm.admin_server.thread_count | The number of threads the admin server should use. | 1 |
INI Setting | Documentation | Default |
---|---|---|
hhvm.debugger.default_sandbox_path | ||
hhvm.debugger.disable_ipv6 | ||
hhvm.debugger.enable_debugger | ||
hhvm.debugger.enable_debugger_color | ||
hhvm.debugger.enable_debugger_prompt | ||
hhvm.debugger.enable_debugger_server | ||
hhvm.debugger.enable_debugger_usage_log | ||
hhvm.debugger.port | ||
hhvm.debugger.rpc.default_auth | ||
hhvm.debugger.rpc.default_port | ||
hhvm.debugger.rpc.default_timeout | ||
hhvm.debugger.rpc.host_domain | ||
hhvm.debugger.signal_timeout | ||
hhvm.debugger.startup_document |
INI Setting | Documentation | Default |
---|---|---|
hhvm.enable_alternative | ||
hhvm.enable_args_in_backtraces | ||
hhvm.enable_asp_tags | ||
hhvm.enable_emit_switch | ||
hhvm.enable_emitter_stats | ||
hhvm.enable_hip_hop_experimental_syntax | ||
hhvm.enable_numa | ||
hhvm.enable_numa_local | ||
hhvm.enable_obj_destruct_call | ||
hhvm.enable_short_tags | ||
hhvm.enable_xhp | Enable XHP support in PHP files. (XHP is always enabled in Hack files.) | False |
hhvm.enable_zend_compat | Enable the support layer for Zend PHP extensions. | False |
hhvm.enable_zend_sorting | ||
hhvm.force_hh | Treat all code as Hack, even if it starts with <?php . |
False |
The translation cache stores the JIT'd code. It's split into several sections depending on how often the code is (or is expected to be) executed.
INI Setting | Documentation | Default |
---|---|---|
hhvm.jit_a_size | Size in bytes of main translation cache. | 62914560 (60 MB) |
hhvm.jit_a_cold_size | Size of cold code cache. Code that is unlikely to be executed is deemed cold. (Recommended: 0.5x hhvm.jit_a_size) | 25165824 (24 MB) |
hhvm.jit_a_frozen_size | Size of extremely cold code cache. Code that is almost never executed, or executed once and then freed up, is deemed frozen. (Recommended: 1x hhvm.jit_a_size) | 41943040 (40 MB) |
hhvm.jit_a_hot_size | Size of hot code cache. (Enabled only in RepoAuthoritative mode) | 0 |
hhvm.jit_a_prof_size | Size of profiling code cache. (Recommended: 1x hhvm.jit_a_size) | 67108864 (64 MB) |
hhvm.jit_a_max_usage | Maximum amount of code to generate. (Recommended: 1x hhvm.jit_a_size) | 62914560 (60 MB) |
INI Setting | Documentation | Default |
---|---|---|
hhvm.jit | Enables the JIT | False on OSX and Windows, True elsewhere |
hhvm.jit_always_interp_one | ||
hhvm.jit_disabled_by_hphpd | ||
hhvm.jit_enable_rename_function | ||
hhvm.jit_global_data_size | ||
hhvm.jit_global_translation_limit | ||
hhvm.jit_keep_dbg_files | ||
hhvm.jit_llvm | ||
hhvm.jit_loops | ||
hhvm.jit_max_translations | ||
hhvm.jit_no_gdb | ||
hhvm.jit_pgo | ||
hhvm.jit_pgo_hot_only | ||
hhvm.jit_pgo_region_selector | ||
hhvm.jit_pgo_release_vv_min_percent | ||
hhvm.jit_pgo_threshold | ||
hhvm.jit_pgo_use_post_conditions | ||
hhvm.jit_profile_interp_requests | ||
hhvm.jit_profile_path | ||
hhvm.jit_profile_record | ||
hhvm.jit_profile_requests | ||
hhvm.jit_pseudomain | ||
hhvm.jit_region_selector | ||
hhvm.jit_relocation_size | ||
hhvm.jit_require_write_lease | ||
hhvm.jit_stress_lease | ||
hhvm.jit_stress_type_pred_percent | ||
hhvm.jit_target_cache_size | ||
hhvm.jit_timer | ||
hhvm.jit_trans_counters | ||
hhvm.jit_type_prediction | ||
hhvm.jit_unlikely_dec_ref_percent | ||
hhvm.jit_use_vtune_api |
INI Setting | Documentation | Default |
---|---|---|
hhvm.allow_hhas | ||
hhvm.authoritative_mode | ||
hhvm.bypass_access_check | ||
hhvm.check_flush_on_user_close | ||
hhvm.check_repo_auth_deserialize | ||
hhvm.check_return_type_hints | ||
hhvm.check_sym_link | ||
hhvm.code_coverage_output_file | ||
hhvm.color | ||
hhvm.debug.clear_input_on_success | ||
hhvm.debug.core_dump_email | ||
hhvm.debug.core_dump_report | ||
hhvm.debug.core_dump_report_directory | ||
hhvm.debug.full_backtrace | ||
hhvm.debug.local_memcache | ||
hhvm.debug.memcache_read_only | ||
hhvm.debug.native_stack_trace | ||
hhvm.debug.profiler_output_dir | ||
hhvm.debug.record_input | ||
hhvm.debug.server_error_message | ||
hhvm.debug.simple_counter.sample_stack_count | ||
hhvm.debug.simple_counter.sample_stack_depth | ||
hhvm.debug.translate_leak_stack_trace | ||
hhvm.debug.translate_source | ||
hhvm.disable_some_repo_auth_notices | ||
hhvm.dump_ast | ||
hhvm.dump_bytecode | ||
hhvm.dump_hhas | ||
hhvm.dump_ring_buffer_on_crash | ||
hhvm.dump_tc | ||
hhvm.dump_tc_anchors | ||
hhvm.dynamic_extension_path | ||
hhvm.error_handling.assert_active | ||
hhvm.error_handling.assert_warning | ||
hhvm.error_handling.call_user_handler_on_fatals | ||
hhvm.error_handling.enable_hip_hop_errors | ||
hhvm.error_handling.max_loop_count | ||
hhvm.error_handling.max_serialized_string_size | ||
hhvm.error_handling.no_infinite_recursion_detection | ||
hhvm.error_handling.notice_frequency | ||
hhvm.error_handling.throw_exception_on_bad_method_call | ||
hhvm.error_handling.warn_too_many_arguments | ||
hhvm.error_handling.warning_frequency | ||
hhvm.gdb_sync_chunks | ||
hhvm.hack.lang.look_for_typechecker | ||
hhvm.hack_array_warn_frequency | ||
hhvm.hh_prof_server.allocation_profile | ||
hhvm.hh_prof_server.enabled | ||
hhvm.hh_prof_server.filter.min_alloc_per_req | ||
hhvm.hh_prof_server.filter.min_bytes_per_req | ||
hhvm.hh_prof_server.port | ||
hhvm.hh_prof_server.profile_client_mode | ||
hhvm.hh_prof_server.threads | ||
hhvm.hh_prof_server.timeout_seconds | ||
hhvm.hhbc_arena_chunk_size | ||
hhvm.hhir_alloc_simd_regs | ||
hhvm.hhir_bytecode_control_flow | ||
hhvm.hhir_cse | ||
hhvm.hhir_dead_code_elim | ||
hhvm.hhir_direct_exit | ||
hhvm.hhir_enable_callee_saved_opt | ||
hhvm.hhir_enable_coalescing | ||
hhvm.hhir_enable_gen_time_inlining | ||
hhvm.hhir_enable_pre_coloring | ||
hhvm.hhir_extra_opt_pass | ||
hhvm.hhir_gen_opts | ||
hhvm.hhir_generate_asserts | ||
hhvm.hhir_inline_frame_opts | ||
hhvm.hhir_inline_singletons | ||
hhvm.hhir_inlining_max_cost | ||
hhvm.hhir_inlining_max_depth | ||
hhvm.hhir_inlining_max_return_dec_refs | ||
hhvm.hhir_jump_opts | ||
hhvm.hhir_num_free_regs | ||
hhvm.hhir_prediction_opts | ||
hhvm.hhir_refcount_opts | ||
hhvm.hhir_refcount_opts_always_sink | ||
hhvm.hhir_relax_guards | ||
hhvm.hhir_simplification | ||
hhvm.hhir_stress_codegen_blocks | ||
hhvm.hhir_validate_ref_count | ||
hhvm.hot_func_count | ||
hhvm.http.default_timeout | ||
hhvm.http.slow_query_threshold | ||
hhvm.initial_named_entity_table_size | ||
hhvm.initial_static_string_table_size | ||
hhvm.keep_perf_pid_map | ||
hhvm.log.access_log_default_format | ||
hhvm.log.admin_log.file | ||
hhvm.log.admin_log.format | ||
hhvm.log.admin_log.sym_link | ||
hhvm.log.always_escape_log | ||
hhvm.log.always_log_unhandled_exceptions | ||
hhvm.log.drop_cache_chunk_size | ||
hhvm.log.file | ||
hhvm.log.header | ||
hhvm.log.header_mangle | ||
hhvm.log.level | ||
hhvm.log.max_messages_per_request | ||
hhvm.log.native_stack_trace | ||
hhvm.log.no_silencer | ||
hhvm.log.runtime_error_reporting_level | ||
hhvm.log.sym_link | ||
hhvm.log.use_cronolog | ||
hhvm.log.use_log_file | ||
hhvm.log.use_request_log | ||
hhvm.log.use_syslog | ||
hhvm.macros | ||
hhvm.mail.force_extra_parameters | ||
hhvm.mail.sendmail_path | ||
hhvm.map_hot_text_huge | ||
hhvm.map_tc_huge | ||
hhvm.map_tgt_cache_huge | ||
hhvm.max_cloned_closures | ||
hhvm.max_code_lines | ||
hhvm.max_low_mem_huge_pages | ||
hhvm.max_user_function_id | ||
hhvm.mysql.typed_results | ||
hhvm.never_save_config | ||
hhvm.num_single_jit_requests | ||
hhvm.pagelet_server.queue_limit | ||
hhvm.pagelet_server.thread_count | ||
hhvm.pagelet_server.thread_drop_cache_timeout_seconds | ||
hhvm.pagelet_server.thread_drop_stack | ||
hhvm.pagelet_server.thread_round_robin | ||
hhvm.pcre_table_size | ||
hhvm.perf_data_map | ||
hhvm.perf_pid_map | ||
hhvm.pid_file | ||
hhvm.preg.backtrace_limit | ||
hhvm.preg.error_log | ||
hhvm.preg.recursion_limit | ||
hhvm.print_level | ||
hhvm.profile_bc | ||
hhvm.profile_heap_across_requests | ||
hhvm.profile_hw_enable | ||
hhvm.profile_hw_events | ||
hhvm.proxy.origin | ||
hhvm.proxy.percentage | ||
hhvm.proxy.proxy_urls | ||
hhvm.proxy.retry | ||
hhvm.proxy.serve_urls | ||
hhvm.random_hot_funcs | ||
hhvm.record_code_coverage | ||
hhvm.repo.authoritative | ||
hhvm.repo.central.path | ||
hhvm.repo.commit | ||
hhvm.repo.debug_info | ||
hhvm.repo.journal | ||
hhvm.repo.local.mode | ||
hhvm.repo.local.path | ||
hhvm.repo.mode | ||
hhvm.repo.preload | ||
hhvm.resource_limit.drop_cache_cycle | ||
hhvm.resource_limit.max_memcache_key_count | ||
hhvm.resource_limit.max_rss | ||
hhvm.resource_limit.max_rss_polling_cycle | ||
hhvm.resource_limit.max_sql_row_count | ||
hhvm.resource_limit.serialization_size_limit | ||
hhvm.resource_limit.socket_default_timeout | ||
hhvm.resource_limit.string_offset_limit | ||
hhvm.runtime_type_profile | ||
hhvm.runtime_type_profile_logging_freq | ||
hhvm.sandbox.conf_file | ||
hhvm.sandbox.directories_root | ||
hhvm.sandbox.fallback | ||
hhvm.sandbox.from_common_root | ||
hhvm.sandbox.home | ||
hhvm.sandbox.logs_root | ||
hhvm.sandbox.sandbox_mode | ||
hhvm.script_mode | ||
hhvm.server.allow_duplicate_cookies | ||
hhvm.server.allowed_exec_cmds | ||
hhvm.server.always_populate_raw_post_data | ||
hhvm.server.always_use_relative_path | ||
hhvm.server.backlog | ||
hhvm.server.connection_limit | ||
hhvm.server.connection_timeout_seconds | ||
hhvm.server.dangling_wait | ||
hhvm.server.default_charset_name | ||
hhvm.server.default_document | ||
hhvm.server.default_server_name_suffix | ||
hhvm.server.dns_cache.enable | ||
hhvm.server.dns_cache.ttl | ||
hhvm.server.enable_cuf_async | ||
hhvm.server.enable_early_flush | ||
hhvm.server.enable_keep_alive | ||
hhvm.server.enable_magic_quotes_gpc | ||
hhvm.server.enable_on_demand_uncompress | ||
hhvm.server.enable_output_buffering | ||
hhvm.server.enable_ssl | ||
hhvm.server.enable_static_content_from_disk | ||
hhvm.server.enable_static_content_m_map | ||
hhvm.server.error_document404 | ||
hhvm.server.error_document500 | ||
hhvm.server.evil_shutdown | ||
hhvm.server.exit_on_bind_fail | ||
hhvm.server.expires_active | ||
hhvm.server.expires_default | ||
hhvm.server.expose_hphp | ||
hhvm.server.expose_xfb_debug | ||
hhvm.server.expose_xfb_server | ||
hhvm.server.fatal_error_message | ||
hhvm.server.file_cache | ||
hhvm.server.file_socket | ||
hhvm.server.fix_path_info | ||
hhvm.server.forbidden_as404 | ||
hhvm.server.force_chunked_encoding | ||
hhvm.server.force_compression.cookie | ||
hhvm.server.force_compression.param | ||
hhvm.server.force_compression.url | ||
hhvm.server.force_server_name_to_header | ||
hhvm.server.graceful_shutdown_wait | ||
hhvm.server.gzip_compression_level | ||
hhvm.server.harsh_shutdown | ||
hhvm.server.host | ||
hhvm.server.http_safe_mode | ||
hhvm.server.image_memory_max_bytes | ||
hhvm.server.implicit_flush | ||
hhvm.server.ip | ||
hhvm.server.kill_on_sigterm | ||
hhvm.server.lib_event_sync_send | ||
hhvm.server.light_process_count | ||
hhvm.server.light_process_file_prefix | ||
hhvm.server.lock_code_memory | ||
hhvm.server.max_array_chain | ||
hhvm.server.max_post_size | ||
hhvm.server.memory_head_room | ||
hhvm.server.output_handler | ||
hhvm.server.path_debug | ||
hhvm.server.port | ||
hhvm.server.prod_server_port | ||
hhvm.server.psp_timeout_seconds | ||
hhvm.server.request_body_read_limit | ||
hhvm.server.request_init_document | ||
hhvm.server.request_init_function | ||
hhvm.server.request_memory_max_bytes | ||
hhvm.server.request_timeout_seconds | ||
hhvm.server.response_queue_count | ||
hhvm.server.safe_file_access | ||
hhvm.server.shutdown_listen_no_work | ||
hhvm.server.shutdown_listen_wait | ||
hhvm.server.ssl_certificate_dir | ||
hhvm.server.ssl_certificate_file | ||
hhvm.server.ssl_certificate_key_file | ||
hhvm.server.ssl_port | ||
hhvm.server.startup_document | ||
hhvm.server.stat_cache | ||
hhvm.server.takeover_filename | ||
hhvm.server.thread_count | Number of worker threads serving web requests | 2 * number of CPUs |
hhvm.server.thread_drop_cache_timeout_seconds | ||
hhvm.server.thread_drop_stack | ||
hhvm.server.thread_job_lifo_switch_threshold | ||
hhvm.server.thread_job_max_queuing_milli_seconds | ||
hhvm.server.thread_round_robin | ||
hhvm.server.tls_client_cipher_spec | ||
hhvm.server.tls_disable_tls1_2 | ||
hhvm.server.type | ||
hhvm.server.unserialization_whitelist_check | ||
hhvm.server.unserialization_whitelist_check_warning_only | ||
hhvm.server.upload.enable_file_uploads | ||
hhvm.server.upload.enable_upload_progress | ||
hhvm.server.upload.rfc1867freq | ||
hhvm.server.upload.rfc1867name | ||
hhvm.server.upload.rfc1867prefix | ||
hhvm.server.upload.upload_max_file_size | ||
hhvm.server.upload.upload_tmp_dir | ||
hhvm.server.use_direct_copy | ||
hhvm.server.user | ||
hhvm.server.utf8ize_replace | ||
hhvm.server.warmup_document | ||
hhvm.server.warmup_throttle_request_count | ||
hhvm.server.warn_on_collection_to_array | ||
hhvm.server.whitelist_exec | ||
hhvm.server.whitelist_exec_warning_only | ||
hhvm.server.xfb_debug_ssl_key | ||
hhvm.short_print_char_count | ||
hhvm.simple_xml.empty_namespace_matches_all | ||
hhvm.simulate_arm | ||
hhvm.small_step | ||
hhvm.source_root | ||
hhvm.spin_on_crash | ||
hhvm.stack_args | ||
hhvm.stats | ||
hhvm.stats.apc | ||
hhvm.stats.enable_hot_profiler | ||
hhvm.stats.max_slot | ||
hhvm.stats.memcache | ||
hhvm.stats.memcache_key | ||
hhvm.stats.memory | ||
hhvm.stats.network_io | ||
hhvm.stats.profiler_max_trace_buffer | ||
hhvm.stats.profiler_trace_buffer | ||
hhvm.stats.profiler_trace_expansion | ||
hhvm.stats.slot_duration | ||
hhvm.stats.sql | ||
hhvm.stats.sql_table | ||
hhvm.stats.web | ||
hhvm.stats.xsl | ||
hhvm.stats.xsl_proxy | ||
hhvm.tc_num_huge_cold_mb | ||
hhvm.tc_num_huge_hot_mb | ||
hhvm.timeouts_use_wall_time | ||
hhvm.tutorial | ||
hhvm.tutorial.visited | ||
hhvm.utf8 | ||
hhvm.vm_initial_global_table_size | ||
hhvm.vm_stack_elms | ||
hhvm.xbox.default_local_timeout_milli_seconds | ||
hhvm.xbox.default_remote_timeout_seconds | ||
hhvm.xbox.process_message_func | ||
hhvm.xbox.server_info.always_reset | ||
hhvm.xbox.server_info.log_info | ||
hhvm.xbox.server_info.max_duration | ||
hhvm.xbox.server_info.max_queue_length | ||
hhvm.xbox.server_info.max_request | ||
hhvm.xbox.server_info.port | ||
hhvm.xbox.server_info.request_init_document | ||
hhvm.xbox.server_info.request_init_function | ||
hhvm.xbox.server_info.thread_count | ||
hhvm.xbox.server_info.warmup_document | ||
hhvm.xenon.force_always_on | ||
hhvm.xenon.period | ||
hhvm.zend_executable |