Work with PO reference in BAPI_INCOMINGINVOICE_CREATE

good morning, i have to create INVOICE from file excel that have the following structure:
DATA: begin of st_invoice,
       XBLNR like INVFO-XBLNR, "reference document
       BUDAT like INVFO-BUDAT, "posting date
       BLDAT like INVFO-BLDAT, "invoicing date
       WRBTR like DRSEG-WRBTR, "amount of position purchase oder
       MWSKZ like INVFO-MWSKZ, "tax code
       WMWST like INVFO-WMWST, "tax amount
       WRBTR_T like INVFO-WRBTR, "header Amount (or total amount)
       EBELN LIKE MSEG-EBELN, "Purchase number (PO REFERENCE tab)
       EBELP LIKE MSEG-EBELP, "Position number (PO REFERENCE tab)
      end of st_invoice.
I tried before to use transaction MIRO with the functional, after insert header data we insert the PO REFERENCE and the system takes automatically the data of purchase item; after we changed only the amount value and saving the invoice we have create it.
The problem is, after insert data value, how insert correctly the PO REFERENCE and change unically the first amount of the first position?
i have write the following code but i doesn't run, please help!!
Processo solo i record senza errori riscontrati in fase di caricamento
  LOOP AT IN_TB_INVOICE WHERE TRAFFIC_LIGHT <> RED.
    CLEAR V_HEADERDATA.
    CLEAR v_itemdata.
    REFRESH v_itemdata.
Valorizzo testata
   V_HEADERDATA-REF_DOC_NO = tb_invoice-XBLNR.
Data di registrazione documento
   V_HEADERDATA-PSTNG_DATE = p_budat.
   V_HEADERDATA-DOC_DATE = in_tb_invoice-bldat.
   V_HEADERDATA-COMP_CODE = '1000'.
   V_HEADERDATA-CURRENCY = 'EUR'.
  header
    V_HEADERDATA-PSTNG_DATE =  p_budat.
    V_HEADERDATA-DOC_DATE = in_tb_invoice-bldat.
    V_HEADERDATA-CURRENCY = 'EUR'.
    V_HEADERDATA-GROSS_AMOUNT = in_tb_invoice-WRBTR_T.
    V_HEADERDATA-COMP_CODE = '1000'.
  V_HEADERDATA-HEADER_TXT = I_ITAB-SGTXT.
    V_HEADERDATA-REF_DOC_NO = tb_invoice-XBLNR.
    V_HEADERDATA-INV_REC_DATE = in_tb_invoice-bldat. "Data registrazione fattura
  item
    v_itemdata-INVOICE_DOC_ITEM = 1.
    v_itemdata-PO_NUMBER    = in_tb_invoice-ebeln.
    v_itemdata-PO_ITEM      = in_tb_invoice-ebelp.
  Codice iva
  v_itemdata-TAX_CODE     = in_tb_invoice-WMWST.
    v_itemdata-ITEM_AMOUNT  = in_tb_invoice-WRBTR.
    APPEND v_itemdata.
create invoice
    CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
      EXPORTING
        HEADERDATA                = V_HEADERDATA
  ADDRESSDATA               =
    IMPORTING
        INVOICEDOCNUMBER          = V_INVOICEDOCNUMBER
        FISCALYEAR                = V_FISCALYEAR
      TABLES
        ITEMDATA                  = V_ITEMDATA
  ACCOUNTINGDATA            =
  GLACCOUNTDATA             =
  MATERIALDATA              =
  TAXDATA                   =
  WITHTAXDATA               =
  VENDORITEMSPLITDATA       =
        RETURN                    = V_RETURN
  NFMETALLITMS              =
  ENDLOOP.

Hi Avinash,
May I know how do you solve it? We encountered the same issues as yours.
Hi Tatenda,
No error aboard whenever perform via front end (MIRO or MIR7).
Do you have any idea?

Similar Messages

  • Currency Translation not working with "Time Reference from Variable"

    We have created several Currency Translations using RSCUR with a fixed "Key Date".  All have been working fine until we got the request to allow a variable date for the exchange rate date.  I have built a variable on 0DATE which I am putting a default date value into using user exit.  This default date is the SAME date as the fixed "Key Date" which we have been using.  Unfortunately when we use the "Time Reference from Variable" option and use this new variable, no currency conversion is taking place, instead it only shows the original currency values.  I am 100% sure that my variable is getting a value and it is the same date we are using for the fixed "Key Date" value so both methods should be using the exact same exchange rates.  The documentation that I can find states:
    ●      Time reference: The time reference for the currency translation can be either fixed or variable.
    If the time reference is fixed, the time at which the exchange rate is determined is independent of the data. You have the following options:
    ○       You can establish that the time reference be determined upon translation.
    ○       You can select the current date.
    ○       You can specify a fixed date as the key date.
    ○       You can specify any variable that exists for InfoObject 0DATE.
    ○       You can establish that the query key date be used. This is determined in the query settings.
    In my case I am only switching from option "You can specify a fixed date as the key date"=(Key Date) to "You can specify any variable that exists for InfoObject 0DATE"=(Time Reference from Variable).
    What am I missing?  Any help is appreciated.

    I neglected to mention that we are calling this currency translation through a WAD button using the SET_CURRENCY_TRANSLATION command.  I did do a test by applying the currency conversion within query key figure.  This seems to work.  So it appears the issue is with how the WAD is processing the variable, not the query.  When I display the variable in a drop down item within the WAD it does have the default value that I have assigned in user exit.

  • Working with Excel references error with Office 365 ProPlus on Shared Drive

    I came across an issue with the Excel version of Office 365 ProPlus, as below described.
    A.xls(x) contains formula that links to B.xls Sheet1. When working on A.xls. I decide to navigate through windows explorer and open B.xls(x). Once I do all references to Sheet1 turns into #REF of A.xls(x). And naturally all values that were previously correct
    now returns #REF. Even without making any changes to B.xls(x), just opening the file cause this problem. Both these files are on the mapped network location within the same LAN. User is on Win7 & Office 365 ProPlus. The server is running on Windows 2008
    R2 with no office installed. This occurred to users who are member of the AD and in Workgroup. We have tried re-installing, repairing, etc. but the problem remains the same. But if the files were on the local HDD, we didn't face the same issue.

    Hi,
    According to your description, this issue may be caused by the hyperlink/reference changed from relative to absolute links. For example, if you use the reference in formula, we only need to enter like this:[filename.xlsx]Sheet1'!$C$107:$C$112, when we re-open
    the file, Excel will autocomplete the path, like: [C:\Mydir\filename.xlsx]Sheet1'!$C$107:$C$112.
    To workaround the issue, we may update the link manually, please see the image below:
    Go to Data tab>Edit link>Update value or change data source.
    More references for the common scenarios of this issue:
    You map a drive under the root of a share. For example, you map drive Z to \\<var>Server</var>\<var>Share</var>\Folder1.
    You create links to a workbook that is stored at the mapped location after you open the file through that mapped drive.
    You open the file by a UNC path.
    As a consequence the link will be broken.
    https://support.microsoft.com/kb/328440/en-us?wa=wsignin1.0
    Hope it can be helpful to you.
    Regards,
    George Zhao
    TechNet Community Support
    It's recommended to download and install
    Configuration Analyzer Tool (OffCAT), which is developed by Microsoft Support teams. Once the tool is installed, you can run it at any time to scan for hundreds of known issues in Office
    programs.

  • Crashing with cross-references

    We are still crashing when trying to work with cross-references. Running CC 9.2.1. Is another update coming to fix this?

    We are having the same problem.  Whenever we open a file that was created using Cross References Pro, in a previous Indesign CS version, InDesign CC crashes immediately.  I have installed all of the recent 2014 updates, and the problem continues to happen.  The Cross References Reader will not install on my system, as I only have InDesign CC now, and it will only install on systems with up through CS6.
    Please find a solution ASAP, as we cannot open our old documents to make any changes or reference the links.

  • Is there a way to get the Mendeley references manager to work with pages?

    Is there a way to get the Mendeley references manager to work with pages?  If not, what is the best reference manager to use with Pages?  I hate "Endnote" and, while I like "Papers", it does not have much support for shared libraries (with collaborators--their Livfe option only permits 50 shared papers and does not work well) or synching a single library across multiple Macs (i.e. home+work).  I need a good reference manager that supports 1) synching across multiple Macs, 2)working with collaborators and 3) has no problem importing different reference styles.  I don't want to use Word or Endnote unless I absolutely must--Pages is much better for everything else I do.  This is for use in preparing scientific manuscripts and grant applications.  Thanks.

    H Roth wrote:
    Is there a way to get the Mendeley references manager to work with pages? 
    If you have not done so already, make sure you also ask the people who make it:
    http://support.mendeley.com/

  • Working with strings and cell references

    Hi all,
    I'm a fairly new user to the Mac world but I'm a power user of Excel trying to moving into the number environment. I'm currently experiencing some very inconsistent behaviour working with text strings in Numbers.
    I've used both '&' and CONCATENATE to try to concatenate strings and cell references and regualarly I'm getting the situation where the formula initially works and then when I save and reopen the file the cells containing the error return a syntax error.
    Upon examining the formula it appears that the cell references are converted from cell references to simple text so & (b2) & becomes &b2&.
    Any ideas what is causing this?

    I apoligise for this tardy response. Firstly, the issue occurred not when I first create the formula but when I save, close and reopen the document.
    Upon examining the formula, the cell reference is not being recognised and so instead of A2 referencing a cell it's simple A2 which causes an error.
    And this is happening in more than one cell (whole rows of cells actually as I've often created a formula and copied it down 10 or 200 rows).
    It is also happening on more than one file Badunit so I don't think it's a corrupt file.
    It's more than a little annoying though as it means every few days when I go back in to a file I need to spend a few minutes recreating the formulas.
    Any other suggestions?
    Oh and I've tried both methods of formula creation of typing the reference and clicking, but the result is the same.
    Message was edited by: Un-decided

  • Reference for working with a data collection retreived from a Web Service

    Does anyone have a good resource / example of working with multi row data collections returned from a web service call?
    In addition to the basic return of x data rows, I will also be getting parent child collections. For example,
    for each Customer row, 0 or more Customer Invoices
    I have found many guides the relate to single values being retrieved by the web service, but I have not found any that refer to data collections.
    Best regards,
    Thomas

    That can all certainly be done with a 13" MBP.
    You'd want to get a USB hub, preferably USB 3.0 to plug in your optical drive, keyboard and mouse.
    For your external monitor you can use a Mini DisplayPort adapter to DVI or HDMI (or if it's a retina MBP use the HDMI out).
    For your ethernet, it will plug right into the non-retina. If you get the retina, you'd need a Thunderbolt to Ethernet adapter (faster) or a USB to ethernet adapter (slower).

  • Working with percentages in Adobe Acrobat 9 Pro

    So, I have a quick question. I am new to working with forms in acrobat, and am having a hard time figuring this part out. If anyone can help me, I would greatly appreciate it!
    So I have a form that I've created in acrobat 9 pro. Below I have listed "individual 1:" and then "percentage allocation". The "percentage alloctions" are the different form fields for the percentages I've created. For each form field, I limited the values to not exceed 100%. I want individuals filling in this form to be able to fill in the percentages by each of the names without the TOTAL percentage value (of all three together) going over 100%. But...the trick is, I don't have a separate "Total" form field, there's no room for one. So is there a way to make it so the total of the three equals 100% without having a "total" form field?
    individaul 1:  percentage allocation
    Individual 2: percentage allocation1
    Individual 3: percentage allocation2
    Please let me know if this makes sense,

    Try67,
    Thank you for sending me that reference guide, that will help. This is extremely frustrating for me. Thank you for the field visible or hidden script...I did end up finding those yesterday, just didn't know how to incorporate them to become visible if the total number is less than 100.
    I ended up creating another text field right next to the total, and called it "statement". I marked this field as "hidden" through the general properties option in the adobe acrobat dialog box. And , I set up default text to read, "Total value must not be less than 100%". All of this, I did through the properties dialog box.
    Individual 1: 30
    Individual 2: 20
    Individual 3: 10
    Total:  60%             "statement" text field is here.
    I figured what I could do is add another "if statement" to the validation script I put in for the "Total" text field I already had (below)..don't know if that was a stupid thing to do or not, but didn't know how else to do it. And where it says getField, I added the "statement" text field (the one that is hidden), thinking it would just get that field, but it's not working, what did I do wrong?
    var total = Number(getField("individual1").value) + Number(getField("individual2").value) + Number(getField("individual3").value);
    if (total>100) {
        app.alert("The total of the beneficiary fields must equal 100%");
        event.rc = false;
    if (total<100) {
    this.getField("statement").display = display.visible;

  • [SOLVED] SQLite not working with PHP

    For reasons unknown, I cannot get PHP to work properly with SQLite. I have uncommented the "extension=sqlite.so" in /etc/php/php.ini, ensured that PHP's configuration was being loaded from said file, and made sure PHP was working fine with my server of choice (lighttpd). Unfortunately, it doesn't seem to work, as evidenced by
    Fatal error: Call to undefined function sqlite_open() in test.php on line x
    Which is what PHP spits at me. I've checked lighty's logs and nothing's wrong. PHP's set to send to syslog, so I'm not sure where I could check on that. Here is a quick look at PHP's setup.
    My /etc/php/php.ini:
    [PHP]
    ; About php.ini ;
    ; This file controls many aspects of PHP's behavior. In order for PHP to
    ; read it, it must be named 'php.ini'. PHP looks for it in the current
    ; working directory, in the path designated by the environment variable
    ; PHPRC, and in the path that was defined in compile time (in that order).
    ; The path in which the php.ini file is looked for can be overridden using
    ; the -c argument in command line mode.
    ; The syntax of the file is extremely simple. Whitespace and Lines
    ; beginning with a semicolon are silently ignored (as you probably guessed).
    ; Section headers (e.g. [Foo]) are also silently ignored, even though
    ; they might mean something in the future.
    ; Directives are specified using the following syntax:
    ; directive = value
    ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
    ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
    ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
    ; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
    ; Expressions in the INI file are limited to bitwise operators and parentheses:
    ; | bitwise OR
    ; & bitwise AND
    ; ~ bitwise NOT
    ; ! boolean NOT
    ; Boolean flags can be turned on using the values 1, On, True or Yes.
    ; They can be turned off using the values 0, Off, False or No.
    ; An empty string can be denoted by simply not writing anything after the equal
    ; sign, or by using the None keyword:
    ; foo = ; sets foo to an empty string
    ; foo = none ; sets foo to an empty string
    ; foo = "none" ; sets foo to the string 'none'
    ; If you use constants in your value, and these constants belong to a
    ; dynamically loaded extension (either a PHP extension or a Zend extension),
    ; you may only use these constants *after* the line that loads the extension.
    ; About this file ;
    ; This is the recommended, PHP 5-style version of the php.ini-dist file. It
    ; sets some non standard settings, that make PHP more efficient, more secure,
    ; and encourage cleaner coding.
    ; The price is that with these settings, PHP may be incompatible with some
    ; applications, and sometimes, more difficult to develop with. Using this
    ; file is warmly recommended for production sites. As all of the changes from
    ; the standard settings are thoroughly documented, you can go over each one,
    ; and decide whether you want to use it or not.
    ; For general information about the php.ini file, please consult the php.ini-dist
    ; file, included in your PHP distribution.
    ; This file is different from the php.ini-dist file in the fact that it features
    ; different values for several directives, in order to improve performance, while
    ; possibly breaking compatibility with the standard out-of-the-box behavior of
    ; PHP. Please make sure you read what's different, and modify your scripts
    ; accordingly, if you decide to use this file instead.
    ; - register_long_arrays = Off [Performance]
    ; Disables registration of the older (and deprecated) long predefined array
    ; variables ($HTTP_*_VARS). Instead, use the superglobals that were
    ; introduced in PHP 4.1.0
    ; - display_errors = Off [Security]
    ; With this directive set to off, errors that occur during the execution of
    ; scripts will no longer be displayed as a part of the script output, and thus,
    ; will no longer be exposed to remote users. With some errors, the error message
    ; content may expose information about your script, web server, or database
    ; server that may be exploitable for hacking. Production sites should have this
    ; directive set to off.
    ; - log_errors = On [Security]
    ; This directive complements the above one. Any errors that occur during the
    ; execution of your script will be logged (typically, to your server's error log,
    ; but can be configured in several ways). Along with setting display_errors to off,
    ; this setup gives you the ability to fully understand what may have gone wrong,
    ; without exposing any sensitive information to remote users.
    ; - output_buffering = 4096 [Performance]
    ; Set a 4KB output buffer. Enabling output buffering typically results in less
    ; writes, and sometimes less packets sent on the wire, which can often lead to
    ; better performance. The gain this directive actually yields greatly depends
    ; on which Web server you're working with, and what kind of scripts you're using.
    ; - register_argc_argv = Off [Performance]
    ; Disables registration of the somewhat redundant $argv and $argc global
    ; variables.
    ; - magic_quotes_gpc = Off [Performance]
    ; Input data is no longer escaped with slashes so that it can be sent into
    ; SQL databases without further manipulation. Instead, you should use the
    ; database vendor specific escape string function on each input element you
    ; wish to send to a database.
    ; - variables_order = "GPCS" [Performance]
    ; The environment variables are not hashed into the $_ENV. To access
    ; environment variables, you can use getenv() instead.
    ; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
    ; By default, PHP suppresses errors of type E_NOTICE. These error messages
    ; are emitted for non-critical errors, but that could be a symptom of a bigger
    ; problem. Most notably, this will cause error messages about the use
    ; of uninitialized variables to be displayed.
    ; - allow_call_time_pass_reference = Off [Code cleanliness]
    ; It's not possible to decide to force a variable to be passed by reference
    ; when calling a function. The PHP 4 style to do this is by making the
    ; function require the relevant argument by reference.
    ; - short_open_tag = Off [Portability]
    ; Using short tags is discouraged when developing code meant for redistribution
    ; since short tags may not be supported on the target server.
    ; Language Options ;
    ; Enable the PHP scripting language engine under Apache.
    engine = On
    ; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
    zend.ze1_compatibility_mode = Off
    ; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
    ; NOTE: Using short tags should be avoided when developing applications or
    ; libraries that are meant for redistribution, or deployment on PHP
    ; servers which are not under your control, because short tags may not
    ; be supported on the target server. For portable, redistributable code,
    ; be sure not to use short tags.
    short_open_tag = Off
    ; Allow ASP-style <% %> tags.
    asp_tags = Off
    ; The number of significant digits displayed in floating point numbers.
    precision = 14
    ; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
    y2k_compliance = On
    ; Output buffering allows you to send header lines (including cookies) even
    ; after you send body content, at the price of slowing PHP's output layer a
    ; bit. You can enable output buffering during runtime by calling the output
    ; buffering functions. You can also enable output buffering for all files by
    ; setting this directive to On. If you wish to limit the size of the buffer
    ; to a certain size - you can use a maximum number of bytes instead of 'On', as
    ; a value for this directive (e.g., output_buffering=4096).
    output_buffering = 4096
    ; You can redirect all of the output of your scripts to a function. For
    ; example, if you set output_handler to "mb_output_handler", character
    ; encoding will be transparently converted to the specified encoding.
    ; Setting any output handler automatically turns on output buffering.
    ; Note: People who wrote portable scripts should not depend on this ini
    ; directive. Instead, explicitly set the output handler using ob_start().
    ; Using this ini directive may cause problems unless you know what script
    ; is doing.
    ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
    ; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
    ; Note: output_handler must be empty if this is set 'On' !!!!
    ; Instead you must use zlib.output_handler.
    ;output_handler =
    ; Transparent output compression using the zlib library
    ; Valid values for this option are 'off', 'on', or a specific buffer size
    ; to be used for compression (default is 4KB)
    ; Note: Resulting chunk size may vary due to nature of compression. PHP
    ; outputs chunks that are few hundreds bytes each as a result of
    ; compression. If you prefer a larger chunk size for better
    ; performance, enable output_buffering in addition.
    ; Note: You need to use zlib.output_handler instead of the standard
    ; output_handler, or otherwise the output will be corrupted.
    zlib.output_compression = Off
    ;zlib.output_compression_level = -1
    ; You cannot specify additional output handlers if zlib.output_compression
    ; is activated here. This setting does the same as output_handler but in
    ; a different order.
    ;zlib.output_handler =
    ; Implicit flush tells PHP to tell the output layer to flush itself
    ; automatically after every output block. This is equivalent to calling the
    ; PHP function flush() after each and every call to print() or echo() and each
    ; and every HTML block. Turning this option on has serious performance
    ; implications and is generally recommended for debugging purposes only.
    implicit_flush = Off
    ; The unserialize callback function will be called (with the undefined class'
    ; name as parameter), if the unserializer finds an undefined class
    ; which should be instantiated.
    ; A warning appears if the specified function is not defined, or if the
    ; function doesn't include/implement the missing class.
    ; So only set this entry, if you really want to implement such a
    ; callback-function.
    unserialize_callback_func=
    ; When floats & doubles are serialized store serialize_precision significant
    ; digits after the floating point. The default value ensures that when floats
    ; are decoded with unserialize, the data will remain the same.
    serialize_precision = 100
    ; Whether to enable the ability to force arguments to be passed by reference
    ; at function call time. This method is deprecated and is likely to be
    ; unsupported in future versions of PHP/Zend. The encouraged method of
    ; specifying which arguments should be passed by reference is in the function
    ; declaration. You're encouraged to try and turn this option Off and make
    ; sure your scripts work properly with it in order to ensure they will work
    ; with future versions of the language (you will receive a warning each time
    ; you use this feature, and the argument will be passed by value instead of by
    ; reference).
    allow_call_time_pass_reference = Off
    ; Safe Mode
    safe_mode = Off
    ; By default, Safe Mode does a UID compare check when
    ; opening files. If you want to relax this to a GID compare,
    ; then turn on safe_mode_gid.
    safe_mode_gid = Off
    ; When safe_mode is on, UID/GID checks are bypassed when
    ; including files from this directory and its subdirectories.
    ; (directory must also be in include_path or full path must
    ; be used when including)
    safe_mode_include_dir =
    ; When safe_mode is on, only executables located in the safe_mode_exec_dir
    ; will be allowed to be executed via the exec family of functions.
    safe_mode_exec_dir =
    ; Setting certain environment variables may be a potential security breach.
    ; This directive contains a comma-delimited list of prefixes. In Safe Mode,
    ; the user may only alter environment variables whose names begin with the
    ; prefixes supplied here. By default, users will only be able to set
    ; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
    ; Note: If this directive is empty, PHP will let the user modify ANY
    ; environment variable!
    safe_mode_allowed_env_vars = PHP_
    ; This directive contains a comma-delimited list of environment variables that
    ; the end user won't be able to change using putenv(). These variables will be
    ; protected even if safe_mode_allowed_env_vars is set to allow to change them.
    safe_mode_protected_env_vars = LD_LIBRARY_PATH
    ; open_basedir, if set, limits all file operations to the defined directory
    ; and below. This directive makes most sense if used in a per-directory
    ; or per-virtualhost web server configuration file. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/
    ; This directive allows you to disable certain functions for security reasons.
    ; It receives a comma-delimited list of function names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_functions =
    ; This directive allows you to disable certain classes for security reasons.
    ; It receives a comma-delimited list of class names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_classes =
    ; Colors for Syntax Highlighting mode. Anything that's acceptable in
    ; <span style="color: ???????"> would work.
    ;highlight.string = #DD0000
    ;highlight.comment = #FF9900
    ;highlight.keyword = #007700
    ;highlight.bg = #FFFFFF
    ;highlight.default = #0000BB
    ;highlight.html = #000000
    ; If enabled, the request will be allowed to complete even if the user aborts
    ; the request. Consider enabling it if executing long request, which may end up
    ; being interrupted by the user or a browser timing out.
    ; ignore_user_abort = On
    ; Determines the size of the realpath cache to be used by PHP. This value should
    ; be increased on systems where PHP opens many files to reflect the quantity of
    ; the file operations performed.
    ; realpath_cache_size=16k
    ; Duration of time, in seconds for which to cache realpath information for a given
    ; file or directory. For systems with rarely changing files, consider increasing this
    ; value.
    ; realpath_cache_ttl=120
    ; Misc
    ; Decides whether PHP may expose the fact that it is installed on the server
    ; (e.g. by adding its signature to the Web server header). It is no security
    ; threat in any way, but it makes it possible to determine whether you use PHP
    ; on your server or not.
    expose_php = Off
    ; Resource Limits ;
    max_execution_time = 30 ; Maximum execution time of each script, in seconds
    max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
    ;max_input_nesting_level = 64 ; Maximum input variable nesting level
    memory_limit = 32M ; Maximum amount of memory a script may consume (32MB)
    ; Error handling and logging ;
    ; error_reporting is a bit-field. Or each number up to get desired error
    ; reporting level
    ; E_ALL - All errors and warnings (doesn't include E_STRICT)
    ; E_ERROR - fatal run-time errors
    ; E_RECOVERABLE_ERROR - almost fatal run-time errors
    ; E_WARNING - run-time warnings (non-fatal errors)
    ; E_PARSE - compile-time parse errors
    ; E_NOTICE - run-time notices (these are warnings which often result
    ; from a bug in your code, but it's possible that it was
    ; intentional (e.g., using an uninitialized variable and
    ; relying on the fact it's automatically initialized to an
    ; empty string)
    ; E_STRICT - run-time notices, enable to have PHP suggest changes
    ; to your code which will ensure the best interoperability
    ; and forward compatibility of your code
    ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
    ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
    ; initial startup
    ; E_COMPILE_ERROR - fatal compile-time errors
    ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
    ; E_USER_ERROR - user-generated error message
    ; E_USER_WARNING - user-generated warning message
    ; E_USER_NOTICE - user-generated notice message
    ; Examples:
    ; - Show all errors, except for notices and coding standards warnings
    ;error_reporting = E_ALL & ~E_NOTICE
    ; - Show all errors, except for notices
    ;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
    ; - Show only errors
    ;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
    ; - Show all errors, except coding standards warnings
    error_reporting = E_ALL
    ; Print out errors (as a part of the output). For production web sites,
    ; you're strongly encouraged to turn this feature off, and use error logging
    ; instead (see below). Keeping display_errors enabled on a production web site
    ; may reveal security information to end users, such as file paths on your Web
    ; server, your database schema or other information.
    ; possible values for display_errors:
    ; Off - Do not display any errors
    ; stderr - Display errors to STDERR (affects only CGI/CLI binaries!)
    ; On or stdout - Display errors to STDOUT (default)
    ; To output errors to STDERR with CGI/CLI:
    ;display_errors = "stderr"
    ; Default
    display_errors = On
    ; Even when display_errors is on, errors that occur during PHP's startup
    ; sequence are not displayed. It's strongly recommended to keep
    ; display_startup_errors off, except for when debugging.
    display_startup_errors = Off
    ; Log errors into a log file (server-specific log, stderr, or error_log (below))
    ; As stated above, you're strongly advised to use error logging in place of
    ; error displaying on production web sites.
    log_errors = On
    ; Set maximum length of log_errors. In error_log information about the source is
    ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
    log_errors_max_len = 1024
    ; Do not log repeated messages. Repeated errors must occur in same file on same
    ; line unless ignore_repeated_source is set true.
    ignore_repeated_errors = Off
    ; Ignore source of message when ignoring repeated messages. When this setting
    ; is On you will not log errors with repeated messages from different files or
    ; source lines.
    ignore_repeated_source = Off
    ; If this parameter is set to Off, then memory leaks will not be shown (on
    ; stdout or in the log). This has only effect in a debug compile, and if
    ; error reporting includes E_WARNING in the allowed list
    report_memleaks = Off
    ;report_zend_debug = 0
    ; Store the last error/warning message in $php_errormsg (boolean).
    track_errors = Off
    ; Turn off normal error reporting and emit XML-RPC error XML
    ;xmlrpc_errors = 0
    ; An XML-RPC faultCode
    ;xmlrpc_error_number = 0
    ; Disable the inclusion of HTML tags in error messages.
    ; Note: Never use this feature for production boxes.
    ;html_errors = Off
    ; If html_errors is set On PHP produces clickable error messages that direct
    ; to a page describing the error or function causing the error in detail.
    ; You can download a copy of the PHP manual from http://www.php.net/docs.php
    ; and change docref_root to the base URL of your local copy including the
    ; leading '/'. You must also specify the file extension being used including
    ; the dot.
    ; Note: Never use this feature for production boxes.
    ;docref_root = "/phpmanual/"
    ;docref_ext = .html
    ; String to output before an error message.
    ;error_prepend_string = "<font color=#ff0000>"
    ; String to output after an error message.
    ;error_append_string = "</font>"
    ; Log errors to specified file.
    ;error_log = filename
    ; Log errors to syslog.
    error_log = syslog
    ; Data Handling ;
    ; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
    ; The separator used in PHP generated URLs to separate arguments.
    ; Default is "&".
    ;arg_separator.output = "&"
    ; List of separator(s) used by PHP to parse input URLs into variables.
    ; Default is "&".
    ; NOTE: Every character in this directive is considered as separator!
    ;arg_separator.input = ";&"
    ; This directive describes the order in which PHP registers GET, POST, Cookie,
    ; Environment and Built-in variables (G, P, C, E & S respectively, often
    ; referred to as EGPCS or GPC). Registration is done from left to right, newer
    ; values override older values.
    variables_order = "GPCS"
    ; Whether or not to register the EGPCS variables as global variables. You may
    ; want to turn this off if you don't want to clutter your scripts' global scope
    ; with user data. This makes most sense when coupled with track_vars - in which
    ; case you can access all of the GPC variables through the $HTTP_*_VARS[],
    ; variables.
    ; You should do your best to write your scripts so that they do not require
    ; register_globals to be on; Using form variables as globals can easily lead
    ; to possible security problems, if the code is not very well thought of.
    register_globals = Off
    ; Whether or not to register the old-style input arrays, HTTP_GET_VARS
    ; and friends. If you're not using them, it's recommended to turn them off,
    ; for performance reasons.
    register_long_arrays = Off
    ; This directive tells PHP whether to declare the argv&argc variables (that
    ; would contain the GET information). If you don't use these variables, you
    ; should turn it off for increased performance.
    register_argc_argv = Off
    ; When enabled, the SERVER and ENV variables are created when they're first
    ; used (Just In Time) instead of when the script starts. If these variables
    ; are not used within a script, having this directive on will result in a
    ; performance gain. The PHP directives register_globals, register_long_arrays,
    ; and register_argc_argv must be disabled for this directive to have any affect.
    auto_globals_jit = On
    ; Maximum size of POST data that PHP will accept.
    post_max_size = 8M
    ; Magic quotes
    ; Magic quotes for incoming GET/POST/Cookie data.
    magic_quotes_gpc = Off
    ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
    magic_quotes_runtime = Off
    ; Use Sybase-style magic quotes (escape ' with '' instead of \').
    magic_quotes_sybase = Off
    ; Automatically add files before or after any PHP document.
    auto_prepend_file =
    auto_append_file =
    ; As of 4.0b4, PHP always outputs a character encoding by default in
    ; the Content-type: header. To disable sending of the charset, simply
    ; set it to be empty.
    ; PHP's built-in default is text/html
    default_mimetype = "text/html"
    default_charset = "utf-8"
    ; Always populate the $HTTP_RAW_POST_DATA variable.
    ;always_populate_raw_post_data = On
    ; Paths and Directories ;
    ; UNIX: "/path1:/path2"
    include_path = ".:/usr/share/pear"
    ; The root of the PHP pages, used only if nonempty.
    ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
    ; if you are running php as a CGI under any web server (other than IIS)
    ; see documentation for security issues. The alternate is to use the
    ; cgi.force_redirect configuration below
    doc_root =
    ; The directory under which PHP opens the script using /~username used only
    ; if nonempty.
    user_dir =
    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = "/usr/lib/php/20060613/"
    ; Whether or not to enable the dl() function. The dl() function does NOT work
    ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
    ; disabled on them.
    enable_dl = Off
    ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
    ; most web servers. Left undefined, PHP turns this on by default. You can
    ; turn it off here AT YOUR OWN RISK
    ; **You CAN safely turn this off for IIS, in fact, you MUST.**
    ; cgi.force_redirect = 1
    ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
    ; every request.
    ; cgi.nph = 1
    ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
    ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
    ; will look for to know it is OK to continue execution. Setting this variable MAY
    ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
    ; cgi.redirect_status_env = ;
    ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
    ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
    ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
    ; this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting
    ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
    ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
    cgi.fix_pathinfo=1
    ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
    ; security tokens of the calling client. This allows IIS to define the
    ; security context that the request runs under. mod_fastcgi under Apache
    ; does not currently support this feature (03/17/2002)
    ; Set to 1 if running under IIS. Default is zero.
    ; fastcgi.impersonate = 1;
    ; Disable logging through FastCGI connection
    ; fastcgi.logging = 0
    ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
    ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
    ; is supported by Apache. When this option is set to 1 PHP will send
    ; RFC2616 compliant header.
    ; Default is zero.
    ;cgi.rfc2616_headers = 0
    ; File Uploads ;
    ; Whether to allow HTTP file uploads.
    file_uploads = On
    ; Temporary directory for HTTP uploaded files (will use system default if not
    ; specified).
    ;upload_tmp_dir =
    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 2M
    ; Fopen wrappers ;
    ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
    allow_url_fopen = Off
    ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
    allow_url_include = Off
    ; Define the anonymous ftp password (your email address)
    ;from="[email protected]"
    ; Define the User-Agent string
    ; user_agent="PHP"
    ; Default timeout for socket based streams (seconds)
    default_socket_timeout = 60
    ; Dynamic Extensions ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ; extension=modulename.extension
    ; For example, under UNIX:
    ; extension=msql.so
    ; Note that it should be the name of the module only; no directory information
    ; needs to go here. Specify the location of the extension with the
    ; extension_dir directive above.
    ; Module Settings ;
    [Date]
    ; Defines the default timezone used by the date functions
    ;date.timezone =
    ;date.default_latitude = 31.7667
    ;date.default_longitude = 35.2333
    ;date.sunrise_zenith = 90.583333
    ;date.sunset_zenith = 90.583333
    [filter]
    ;filter.default = unsafe_raw
    ;filter.default_flags =
    [iconv]
    ;iconv.input_encoding = ISO-8859-1
    ;iconv.internal_encoding = ISO-8859-1
    ;iconv.output_encoding = ISO-8859-1
    [sqlite]
    sqlite.assoc_case = 1
    [Pcre]
    ;PCRE library backtracking limit.
    ;pcre.backtrack_limit=100000
    ;PCRE library recursion limit.
    ;Please note that if you set this value to a high number you may consume all
    ;the available process stack and eventually crash PHP (due to reaching the
    ;stack size limit imposed by the Operating System).
    ;pcre.recursion_limit=100000
    [Syslog]
    ; Whether or not to define the various syslog variables (e.g. $LOG_PID,
    ; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
    ; runtime, you can define these variables by calling define_syslog_variables().
    define_syslog_variables = Off
    [mail function]
    ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ;sendmail_path =
    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
    [SQL]
    sql.safe_mode = Off
    [ODBC]
    ;odbc.default_db = Not yet implemented
    ;odbc.default_user = Not yet implemented
    ;odbc.default_pw = Not yet implemented
    ; Allow or prevent persistent links.
    odbc.allow_persistent = On
    ; Check that a connection is still valid before reuse.
    odbc.check_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    odbc.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    odbc.max_links = -1
    ; Handling of LONG fields. Returns number of bytes to variables. 0 means
    ; passthru.
    odbc.defaultlrl = 4096
    ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
    ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
    ; of uodbc.defaultlrl and uodbc.defaultbinmode
    odbc.defaultbinmode = 1
    [MySQL]
    ; Allow or prevent persistent links.
    mysql.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    mysql.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    mysql.max_links = -1
    ; Default port number for mysql_connect(). If unset, mysql_connect() will use
    ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
    ; compile-time value defined MYSQL_PORT (in that order).
    mysql.default_port =
    ; Default socket name for local MySQL connects. If empty, uses the built-in
    ; MySQL defaults.
    mysql.default_socket =
    ; Default host for mysql_connect() (doesn't apply in safe mode).
    mysql.default_host =
    ; Default user for mysql_connect() (doesn't apply in safe mode).
    mysql.default_user =
    ; Default password for mysql_connect() (doesn't apply in safe mode).
    ; Note that this is generally a *bad* idea to store passwords in this file.
    ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
    ; and reveal this password! And of course, any users with read access to this
    ; file will be able to reveal the password as well.
    mysql.default_password =
    ; Maximum time (in seconds) for connect timeout. -1 means no limit
    mysql.connect_timeout = 60
    ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
    ; SQL-Errors will be displayed.
    mysql.trace_mode = Off
    [MySQLi]
    ; Maximum number of links. -1 means no limit.
    mysqli.max_links = -1
    ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
    ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
    ; compile-time value defined MYSQL_PORT (in that order).
    mysqli.default_port = 3306
    ; Default socket name for local MySQL connects. If empty, uses the built-in
    ; MySQL defaults.
    mysqli.default_socket =
    ; Default host for mysql_connect() (doesn't apply in safe mode).
    mysqli.default_host =
    ; Default user for mysql_connect() (doesn't apply in safe mode).
    mysqli.default_user =
    ; Default password for mysqli_connect() (doesn't apply in safe mode).
    ; Note that this is generally a *bad* idea to store passwords in this file.
    ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
    ; and reveal this password! And of course, any users with read access to this
    ; file will be able to reveal the password as well.
    mysqli.default_pw =
    ; Allow or prevent reconnect
    mysqli.reconnect = Off
    [mSQL]
    ; Allow or prevent persistent links.
    msql.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    msql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent). -1 means no limit.
    msql.max_links = -1
    [OCI8]
    ; enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA)
    ;oci8.privileged_connect = Off
    ; Connection: The maximum number of persistent OCI8 connections per
    ; process. Using -1 means no limit.
    ;oci8.max_persistent = -1
    ; Connection: The maximum number of seconds a process is allowed to
    ; maintain an idle persistent connection. Using -1 means idle
    ; persistent connections will be maintained forever.
    ;oci8.persistent_timeout = -1
    ; Connection: The number of seconds that must pass before issuing a
    ; ping during oci_pconnect() to check the connection validity. When
    ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
    ; pings completely.
    ;oci8.ping_interval = 60
    ; Tuning: This option enables statement caching, and specifies how
    ; many statements to cache. Using 0 disables statement caching.
    ;oci8.statement_cache_size = 20
    ; Tuning: Enables statement prefetching and sets the default number of
    ; rows that will be fetched automatically after statement execution.
    ;oci8.default_prefetch = 10
    ; Compatibility. Using On means oci_close() will not close
    ; oci_connect() and oci_new_connect() connections.
    ;oci8.old_oci_close_semantics = Off
    [PostgresSQL]
    ; Allow or prevent persistent links.
    pgsql.allow_persistent = On
    ; Detect broken persistent links always with pg_pconnect().
    ; Auto reset feature requires a little overheads.
    pgsql.auto_reset_persistent = Off
    ; Maximum number of persistent links. -1 means no limit.
    pgsql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent). -1 means no limit.
    pgsql.max_links = -1
    ; Ignore PostgreSQL backends Notice message or not.
    ; Notice message logging require a little overheads.
    pgsql.ignore_notice = 0
    ; Log PostgreSQL backends Notice message or not.
    ; Unless pgsql.ignore_notice=0, module cannot log notice message.
    pgsql.log_notice = 0
    [Sybase]
    ; Allow or prevent persistent links.
    sybase.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    sybase.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    sybase.max_links = -1
    ;sybase.interface_file = "/usr/sybase/interfaces"
    ; Minimum error severity to display.
    sybase.min_error_severity = 10
    ; Minimum message severity to display.
    sybase.min_message_severity = 10
    ; Compatibility mode with old versions of PHP 3.0.
    ; If on, this will cause PHP to automatically assign types to results according
    ; to their Sybase type, instead of treating them all as strings. This
    ; compatibility mode will probably not stay around forever, so try applying
    ; whatever necessary changes to your code, and turn it off.
    sybase.compatability_mode = Off
    [Sybase-CT]
    ; Allow or prevent persistent links.
    sybct.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    sybct.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    sybct.max_links = -1
    ; Minimum server message severity to display.
    sybct.min_server_severity = 10
    ; Minimum client message severity to display.
    sybct.min_client_severity = 10
    [bcmath]
    ; Number of decimal digits for all bcmath functions.
    bcmath.scale = 0
    [browscap]
    ;browscap = extra/browscap.ini
    [Informix]
    ; Default host for ifx_connect() (doesn't apply in safe mode).
    ifx.default_host =
    ; Default user for ifx_connect() (doesn't apply in safe mode).
    ifx.default_user =
    ; Default password for ifx_connect() (doesn't apply in safe mode).
    ifx.default_password =
    ; Allow or prevent persistent links.
    ifx.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    ifx.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    ifx.max_links = -1
    ; If on, select statements return the contents of a text blob instead of its id.
    ifx.textasvarchar = 0
    ; If on, select statements return the contents of a byte blob instead of its id.
    ifx.byteasvarchar = 0
    ; Trailing blanks are stripped from fixed-length char columns. May help the
    ; life of Informix SE users.
    ifx.charasvarchar = 0
    ; If on, the contents of text and byte blobs are dumped to a file instead of
    ; keeping them in memory.
    ifx.blobinfile = 0
    ; NULL's are returned as empty strings, unless this is set to 1. In that case,
    ; NULL's are returned as string 'NULL'.
    ifx.nullformat = 0
    [Session]
    ; Handler used to store/retrieve data.
    session.save_handler = files
    ; Argument passed to save_handler. In the case of files, this is the path
    ; where data files are stored.
    ; As of PHP 4.0.1, you can define the path as:
    ; session.save_path = "N;/path"
    ; where N is an integer. Instead of storing all the session files in
    ; /path, what this will do is use subdirectories N-levels deep, and
    ; store the session data in those directories. This is useful if you
    ; or your OS have problems with lots of files in one directory, and is
    ; a more efficient layout for servers that handle lots of sessions.
    ; NOTE 1: PHP will not create this directory structure automatically.
    ; You can use the script in the ext/session dir for that purpose.
    ; NOTE 2: See the section on garbage collection below if you choose to
    ; use subdirectories for session storage
    ; The file storage module creates files using mode 600 by default.
    ; You can change that by using
    ; session.save_path = "N;MODE;/path"
    ; where MODE is the octal representation of the mode. Note that this
    ; does not overwrite the process's umask.
    session.save_path = "/tmp"
    ; Whether to use cookies.
    session.use_cookies = 1
    ;session.cookie_secure =
    ; This option enables administrators to make their users invulnerable to
    ; attacks which involve passing session ids in URLs; defaults to 0.
    ; session.use_only_cookies = 1
    ; Name of the session (used as cookie name).
    session.name = PHPSESSID
    ; Initialize session on request startup.
    session.auto_start = 0
    ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
    session.cookie_lifetime = 0
    ; The path for which the cookie is valid.
    session.cookie_path = /
    ; The domain for which the cookie is valid.
    session.cookie_domain =
    ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
    session.cookie_httponly =
    ; Handler used to serialize data. php is the standard serializer of PHP.
    session.serialize_handler = php
    ; Define the probability that the 'garbage collection' process is started
    ; on every session initialization.
    ; The probability is calculated by using gc_probability/gc_divisor,
    ; e.g. 1/100 means there is a 1% chance that the GC process starts
    ; on each request.
    session.gc_probability = 1
    session.gc_divisor = 1000
    ; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    session.gc_maxlifetime = 1440
    ; NOTE: If you are using the subdirectory option for storing session files
    ; (see session.save_path above), then garbage collection does *not*
    ; happen automatically. You will need to do your own garbage
    ; collection through a shell script, cron entry, or some other method.
    ; For example, the following script would is the equivalent of
    ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ; cd /path/to/sessions; find -cmin +24 | xargs rm
    ; PHP 4.2 and less have an undocumented feature/bug that allows you to
    ; to initialize a session variable in the global scope, albeit register_globals
    ; is disabled. PHP 4.3 and later will warn you, if this feature is used.
    ; You can disable the feature and the warning separately. At this time,
    ; the warning is only displayed, if bug_compat_42 is enabled.
    session.bug_compat_42 = 0
    session.bug_compat_warn = 1
    ; Check HTTP Referer to invalidate externally stored URLs containing ids.
    ; HTTP_REFERER has to contain this substring for the session to be
    ; considered as valid.
    session.referer_check =
    ; How many bytes to read from the file.
    session.entropy_length = 0
    ; Specified here to create the session id.
    session.entropy_file =
    ;session.entropy_length = 16
    ;session.entropy_file = /dev/urandom
    ; Set to {nocache,private,public,} to determine HTTP caching aspects
    ; or leave this empty to avoid sending anti-caching headers.
    session.cache_limiter = nocache
    ; Document expires after n minutes.
    session.cache_expire = 180
    ; trans sid support is disabled by default.
    ; Use of trans sid may risk your users security.
    ; Use this option with caution.
    ; - User may send URL contains active session ID
    ; to other person via. email/irc/etc.
    ; - URL that contains active session ID may be stored
    ; in publically accessible computer.
    ; - User may access your site with the same session ID
    ; always using URL stored in browser's history or bookmarks.
    session.use_trans_sid = 0
    ; Select a hash function
    ; 0: MD5 (128 bits)
    ; 1: SHA-1 (160 bits)
    session.hash_function = 0
    ; Define how many bits are stored in each character when converting
    ; the binary hash data to something readable.
    ; 4 bits: 0-9, a-f
    ; 5 bits: 0-9, a-v
    ; 6 bits: 0-9, a-z, A-Z, "-", ","
    session.hash_bits_per_character = 5
    ; The URL rewriter will look for URLs in a defined set of HTML tags.
    ; form/fieldset are special; if you include them here, the rewriter will
    ; add a hidden <input> field with the info which is otherwise appended
    ; to URLs. If you want XHTML conformity, remove the form entry.
    ; Note that all valid entries require a "=", even if no value follows.
    url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
    [MSSQL]
    ; Allow or prevent persistent links.
    mssql.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    mssql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent). -1 means no limit.
    mssql.max_links = -1
    ; Minimum error severity to display.
    mssql.min_error_severity = 10
    ; Minimum message severity to display.
    mssql.min_message_severity = 10
    ; Compatibility mode with old versions of PHP 3.0.
    mssql.compatability_mode = Off
    ; Connect timeout
    ;mssql.connect_timeout = 5
    ; Query timeout
    ;mssql.timeout = 60
    ; Valid range 0 - 2147483647. Default = 4096.
    ;mssql.textlimit = 4096
    ; Valid range 0 - 2147483647. Default = 4096.
    ;mssql.textsize = 4096
    ; Limits the number of records in each batch. 0 = all records in one batch.
    ;mssql.batchsize = 0
    ; Specify how datetime and datetim4 columns are returned
    ; On => Returns data converted to SQL server settings
    ; Off => Returns values as YYYY-MM-DD hh:mm:ss
    ;mssql.datetimeconvert = On
    ; Use NT authentication when connecting to the server
    mssql.secure_connection = Off
    ; Specify max number of processes. -1 = library default
    ; msdlib defaults to 25
    ; FreeTDS defaults to 4096
    ;mssql.max_procs = -1
    ; Specify client character set.
    ; If empty or not set the client charset from freetds.comf is used
    ; This is only used when compiled with FreeTDS
    ;mssql.charset = "ISO-8859-1"
    [Assertion]
    ; Assert(expr); active by default.
    ;assert.active = On
    ; Issue a PHP warning for each failed assertion.
    ;assert.warning = On
    ; Don't bail out by default.
    ;assert.bail = Off
    ; User-function to be called if an assertion fails.
    ;assert.callback = 0
    ; Eval the expression with current error_reporting(). Set to true if you want
    ; error_reporting(0) around the eval().
    ;assert.quiet_eval = 0
    [COM]
    ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
    ;com.typelib_file =
    ; allow Distributed-COM calls
    ;com.allow_dcom = true
    ; autoregister constants of a components typlib on com_load()
    ;com.autoregister_typelib = true
    ; register constants casesensitive
    ;com.autoregister_casesensitive = false
    ; show warnings on duplicate constant registrations
    ;com.autoregister_verbose = true
    [mbstring]
    ; language for internal character representation.
    ;mbstring.language = Japanese
    ; internal/script encoding.
    ; Some encoding cannot work as internal encoding.
    ; (e.g. SJIS, BIG5, ISO-2022-*)
    ;mbstring.internal_encoding = EUC-JP
    ; http input encoding.
    ;mbstring.http_input = auto
    ; http output encoding. mb_output_handler must be
    ; registered as output buffer to function
    ;mbstring.http_output = SJIS
    ; enable automatic encoding translation according to
    ; mbstring.internal_encoding setting. Input chars are
    ; converted to internal encoding by setting this to On.
    ; Note: Do _not_ use automatic encoding translation for
    ; portable libs/applications.
    ;mbstring.encoding_translation = Off
    ; automatic encoding detection order.
    ; auto means
    ;mbstring.detect_order = auto
    ; substitute_character used when character cannot be converted
    ; one from another
    ;mbstring.substitute_character = none;
    ; overload(replace) single byte functions by mbstring functions.
    ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
    ; etc. Possible values are 0,1,2,4 or combination of them.
    ; For example, 7 for overload everything.
    ; 0: No overload
    ; 1: Overload mail() function
    ; 2: Overload str*() functions
    ; 4: Overload ereg*() functions
    ;mbstring.func_overload = 0
    ; enable strict encoding detection.
    ;mbstring.strict_encoding = Off
    [FrontBase]
    ;fbsql.allow_persistent = On
    ;fbsql.autocommit = On
    ;fbsql.show_timestamp_decimals = Off
    ;fbsql.default_database =
    ;fbsql.default_database_password =
    ;fbsql.default_host =
    ;fbsql.default_password =
    ;fbsql.default_user = "_SYSTEM"
    ;fbsql.generate_warnings = Off
    ;fbsql.max_connections = 128
    ;fbsql.max_links = 128
    ;fbsql.max_persistent = -1
    ;fbsql.max_results = 128
    [gd]
    ; Tell the jpeg decode to libjpeg warnings and try to create
    ; a gd image. The warning will then be displayed as notices
    ; disabled by default
    ;gd.jpeg_ignore_warning = 0
    [exif]
    ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
    ; With mbstring support this will automatically be converted into the encoding
    ; given by corresponding encode setting. When empty mbstring.internal_encoding
    ; is used. For the decode settings you can distinguish between motorola and
    ; intel byte order. A decode setting cannot be empty.
    ;exif.encode_unicode = ISO-8859-15
    ;exif.decode_unicode_motorola = UCS-2BE
    ;exif.decode_unicode_intel = UCS-2LE
    ;exif.encode_jis =
    ;exif.decode_jis_motorola = JIS
    ;exif.decode_jis_intel = JIS
    [Tidy]
    ; The path to a default tidy configuration file to use when using tidy
    ;tidy.default_config = /usr/local/lib/php/default.tcfg
    ; Should tidy clean and repair output automatically?
    ; WARNING: Do not use this option if you are generating non-html content
    ; such as dynamic images
    tidy.clean_output = Off
    [soap]
    ; Enables or disables WSDL caching feature.
    soap.wsdl_cache_enabled=1
    ; Sets the directory name where SOAP extension will put cache files.
    soap.wsdl_cache_dir="/tmp"
    ; (time to live) Sets the number of second while cached file will be used
    ; instead of original one.
    soap.wsdl_cache_ttl=86400
    ; available extensions
    ;extension=bcmath.so
    ;extension=bz2.so
    ;extension=calendar.so
    ;extension=curl.so
    ;extension=dba.so
    ;extension=dbase.so
    ;extension=exif.so
    ;extension=ftp.so
    ;extension=gd.so
    extension=gettext.so
    ;extension=gmp.so
    ;extension=iconv.so
    ;extension=imap.so
    ;extension=json.so
    ;extension=ldap.so
    ;extension=mcrypt.so
    ;extension=mhash.so
    ;extension=mime_magic.so
    ;extension=mysql.so
    ;extension=mysqli.so
    ;extension=ncurses.so
    ;extension=odbc.so
    ;extension=openssl.so
    ;extension=pdo.so
    ;extension=pdo_mysql.so
    ;extension=pdo_odbc.so
    ;extension=pdo_pgsql.so
    ;extension=pdo_sqlite.so
    ;extension=pgsql.so
    ;extension=posix.so
    ;extension=pspell.so
    extension=session.so
    ;extension=shmop.so
    ;extension=snmp.so
    ;extension=soap.so
    extension=sockets.so
    extension=sqlite.so
    ;extension=sysvmsg.so
    ;extension=sysvsem.so
    ;extension=sysvshm.so
    ;extension=tidy.so
    ;extension=xmlrpc.so
    ;extension=xsl.so
    ;extension=zip.so
    extension=zlib.so
    ; Local Variables:
    ; tab-width: 4
    ; End:
    I've attempted enabling pdo.so and pdo_sqlite.so as well, with no results, making sure to stop lighty and flush all of its processes before checking again.
    `php-cgi -m | grep sqlite` does not return anything, either.
    The extensions directory (/usr/lib/php/20060613) exists on my system and contains sqlite.so, as expected.
    I have no clue what's going on here and would greatly appreciate any help offered.
    Last edited by xelados (2009-09-23 04:02:22)

    After the last update which installed PHP 5.3.0, I'm having a similar problem. PHP fails to recognize any extensions which I've defined in php.ini. PHP itself works just fine, so I'm sure this problem is related to the update of PHP.
    Here's my php.ini:
    [PHP]
    ; About php.ini ;
    ; This file controls many aspects of PHP's behavior. In order for PHP to
    ; read it, it must be named 'php.ini'. PHP looks for it in the current
    ; working directory, in the path designated by the environment variable
    ; PHPRC, and in the path that was defined in compile time (in that order).
    ; The path in which the php.ini file is looked for can be overridden using
    ; the -c argument in command line mode.
    ; The syntax of the file is extremely simple. Whitespace and Lines
    ; beginning with a semicolon are silently ignored (as you probably guessed).
    ; Section headers (e.g. [Foo]) are also silently ignored, even though
    ; they might mean something in the future.
    ; Directives are specified using the following syntax:
    ; directive = value
    ; Directive names are *case sensitive* - foo=bar is different from FOO=bar.
    ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one
    ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression
    ; (e.g. E_ALL & ~E_NOTICE), or a quoted string ("foo").
    ; Expressions in the INI file are limited to bitwise operators and parentheses:
    ; | bitwise OR
    ; & bitwise AND
    ; ~ bitwise NOT
    ; ! boolean NOT
    ; Boolean flags can be turned on using the values 1, On, True or Yes.
    ; They can be turned off using the values 0, Off, False or No.
    ; An empty string can be denoted by simply not writing anything after the equal
    ; sign, or by using the None keyword:
    ; foo = ; sets foo to an empty string
    ; foo = none ; sets foo to an empty string
    ; foo = "none" ; sets foo to the string 'none'
    ; If you use constants in your value, and these constants belong to a
    ; dynamically loaded extension (either a PHP extension or a Zend extension),
    ; you may only use these constants *after* the line that loads the extension.
    ; About this file ;
    ; This is the recommended, PHP 5-style version of the php.ini-dist file. It
    ; sets some non standard settings, that make PHP more efficient, more secure,
    ; and encourage cleaner coding.
    ; The price is that with these settings, PHP may be incompatible with some
    ; applications, and sometimes, more difficult to develop with. Using this
    ; file is warmly recommended for production sites. As all of the changes from
    ; the standard settings are thoroughly documented, you can go over each one,
    ; and decide whether you want to use it or not.
    ; For general information about the php.ini file, please consult the php.ini-dist
    ; file, included in your PHP distribution.
    ; This file is different from the php.ini-dist file in the fact that it features
    ; different values for several directives, in order to improve performance, while
    ; possibly breaking compatibility with the standard out-of-the-box behavior of
    ; PHP. Please make sure you read what's different, and modify your scripts
    ; accordingly, if you decide to use this file instead.
    ; - register_long_arrays = Off [Performance]
    ; Disables registration of the older (and deprecated) long predefined array
    ; variables ($HTTP_*_VARS). Instead, use the superglobals that were
    ; introduced in PHP 4.1.0
    ; - display_errors = Off [Security]
    ; With this directive set to off, errors that occur during the execution of
    ; scripts will no longer be displayed as a part of the script output, and thus,
    ; will no longer be exposed to remote users. With some errors, the error message
    ; content may expose information about your script, web server, or database
    ; server that may be exploitable for hacking. Production sites should have this
    ; directive set to off.
    ; - log_errors = On [Security]
    ; This directive complements the above one. Any errors that occur during the
    ; execution of your script will be logged (typically, to your server's error log,
    ; but can be configured in several ways). Along with setting display_errors to off,
    ; this setup gives you the ability to fully understand what may have gone wrong,
    ; without exposing any sensitive information to remote users.
    ; - output_buffering = 4096 [Performance]
    ; Set a 4KB output buffer. Enabling output buffering typically results in less
    ; writes, and sometimes less packets sent on the wire, which can often lead to
    ; better performance. The gain this directive actually yields greatly depends
    ; on which Web server you're working with, and what kind of scripts you're using.
    ; - register_argc_argv = Off [Performance]
    ; Disables registration of the somewhat redundant $argv and $argc global
    ; variables.
    ; - magic_quotes_gpc = Off [Performance]
    ; Input data is no longer escaped with slashes so that it can be sent into
    ; SQL databases without further manipulation. Instead, you should use the
    ; function addslashes() on each input element you wish to send to a database.
    ; - variables_order = "GPCS" [Performance]
    ; The environment variables are not hashed into the $_ENV. To access
    ; environment variables, you can use getenv() instead.
    ; - error_reporting = E_ALL [Code Cleanliness, Security(?)]
    ; By default, PHP suppresses errors of type E_NOTICE. These error messages
    ; are emitted for non-critical errors, but that could be a symptom of a bigger
    ; problem. Most notably, this will cause error messages about the use
    ; of uninitialized variables to be displayed.
    ; - allow_call_time_pass_reference = Off [Code cleanliness]
    ; It's not possible to decide to force a variable to be passed by reference
    ; when calling a function. The PHP 4 style to do this is by making the
    ; function require the relevant argument by reference.
    ; - short_open_tag = Off [Portability]
    ; Using short tags is discouraged when developing code meant for redistribution
    ; since short tags may not be supported on the target server.
    ; Language Options ;
    ; Enable the PHP scripting language engine under Apache.
    engine = On
    ; Enable compatibility mode with Zend Engine 1 (PHP 4.x)
    zend.ze1_compatibility_mode = Off
    ; Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.
    ; NOTE: Using short tags should be avoided when developing applications or
    ; libraries that are meant for redistribution, or deployment on PHP
    ; servers which are not under your control, because short tags may not
    ; be supported on the target server. For portable, redistributable code,
    ; be sure not to use short tags.
    short_open_tag = Off
    ; Allow ASP-style <% %> tags.
    asp_tags = Off
    ; The number of significant digits displayed in floating point numbers.
    precision = 14
    ; Enforce year 2000 compliance (will cause problems with non-compliant browsers)
    y2k_compliance = On
    ; Output buffering allows you to send header lines (including cookies) even
    ; after you send body content, at the price of slowing PHP's output layer a
    ; bit. You can enable output buffering during runtime by calling the output
    ; buffering functions. You can also enable output buffering for all files by
    ; setting this directive to On. If you wish to limit the size of the buffer
    ; to a certain size - you can use a maximum number of bytes instead of 'On', as
    ; a value for this directive (e.g., output_buffering=4096).
    output_buffering = Off
    ; You can redirect all of the output of your scripts to a function. For
    ; example, if you set output_handler to "mb_output_handler", character
    ; encoding will be transparently converted to the specified encoding.
    ; Setting any output handler automatically turns on output buffering.
    ; Note: People who wrote portable scripts should not depend on this ini
    ; directive. Instead, explicitly set the output handler using ob_start().
    ; Using this ini directive may cause problems unless you know what script
    ; is doing.
    ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
    ; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
    ; Note: output_handler must be empty if this is set 'On' !!!!
    ; Instead you must use zlib.output_handler.
    ;output_handler =
    ; Transparent output compression using the zlib library
    ; Valid values for this option are 'off', 'on', or a specific buffer size
    ; to be used for compression (default is 4KB)
    ; Note: Resulting chunk size may vary due to nature of compression. PHP
    ; outputs chunks that are few hundreds bytes each as a result of
    ; compression. If you prefer a larger chunk size for better
    ; performance, enable output_buffering in addition.
    ; Note: You need to use zlib.output_handler instead of the standard
    ; output_handler, or otherwise the output will be corrupted.
    zlib.output_compression = Off
    ;zlib.output_compression_level = -1
    ; You cannot specify additional output handlers if zlib.output_compression
    ; is activated here. This setting does the same as output_handler but in
    ; a different order.
    ;zlib.output_handler =
    ; Implicit flush tells PHP to tell the output layer to flush itself
    ; automatically after every output block. This is equivalent to calling the
    ; PHP function flush() after each and every call to print() or echo() and each
    ; and every HTML block. Turning this option on has serious performance
    ; implications and is generally recommended for debugging purposes only.
    implicit_flush = Off
    ; The unserialize callback function will be called (with the undefined class'
    ; name as parameter), if the unserializer finds an undefined class
    ; which should be instantiated.
    ; A warning appears if the specified function is not defined, or if the
    ; function doesn't include/implement the missing class.
    ; So only set this entry, if you really want to implement such a
    ; callback-function.
    unserialize_callback_func=
    ; When floats & doubles are serialized store serialize_precision significant
    ; digits after the floating point. The default value ensures that when floats
    ; are decoded with unserialize, the data will remain the same.
    serialize_precision = 100
    ; Whether to enable the ability to force arguments to be passed by reference
    ; at function call time. This method is deprecated and is likely to be
    ; unsupported in future versions of PHP/Zend. The encouraged method of
    ; specifying which arguments should be passed by reference is in the function
    ; declaration. You're encouraged to try and turn this option Off and make
    ; sure your scripts work properly with it in order to ensure they will work
    ; with future versions of the language (you will receive a warning each time
    ; you use this feature, and the argument will be passed by value instead of by
    ; reference).
    allow_call_time_pass_reference = Off
    ; Safe Mode
    safe_mode = Off
    ; By default, Safe Mode does a UID compare check when
    ; opening files. If you want to relax this to a GID compare,
    ; then turn on safe_mode_gid.
    safe_mode_gid = Off
    ; When safe_mode is on, UID/GID checks are bypassed when
    ; including files from this directory and its subdirectories.
    ; (directory must also be in include_path or full path must
    ; be used when including)
    safe_mode_include_dir =
    ; When safe_mode is on, only executables located in the safe_mode_exec_dir
    ; will be allowed to be executed via the exec family of functions.
    safe_mode_exec_dir =
    ; Setting certain environment variables may be a potential security breach.
    ; This directive contains a comma-delimited list of prefixes. In Safe Mode,
    ; the user may only alter environment variables whose names begin with the
    ; prefixes supplied here. By default, users will only be able to set
    ; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
    ; Note: If this directive is empty, PHP will let the user modify ANY
    ; environment variable!
    safe_mode_allowed_env_vars = PHP_
    ; This directive contains a comma-delimited list of environment variables that
    ; the end user won't be able to change using putenv(). These variables will be
    ; protected even if safe_mode_allowed_env_vars is set to allow to change them.
    safe_mode_protected_env_vars = LD_LIBRARY_PATH
    ; open_basedir, if set, limits all file operations to the defined directory
    ; and below. This directive makes most sense if used in a per-directory
    ; or per-virtualhost web server configuration file. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    ; open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/
    ; This directive allows you to disable certain functions for security reasons.
    ; It receives a comma-delimited list of function names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_functions =
    ; This directive allows you to disable certain classes for security reasons.
    ; It receives a comma-delimited list of class names. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    disable_classes =
    ; Colors for Syntax Highlighting mode. Anything that's acceptable in
    ; <span style="color: ???????"> would work.
    ;highlight.string = #DD0000
    ;highlight.comment = #FF9900
    ;highlight.keyword = #007700
    ;highlight.bg = #FFFFFF
    ;highlight.default = #0000BB
    ;highlight.html = #000000
    ; If enabled, the request will be allowed to complete even if the user aborts
    ; the request. Consider enabling it if executing long request, which may end up
    ; being interrupted by the user or a browser timing out.
    ; ignore_user_abort = On
    ; Determines the size of the realpath cache to be used by PHP. This value should
    ; be increased on systems where PHP opens many files to reflect the quantity of
    ; the file operations performed.
    ; realpath_cache_size=16k
    ; Duration of time, in seconds for which to cache realpath information for a given
    ; file or directory. For systems with rarely changing files, consider increasing this
    ; value.
    ; realpath_cache_ttl=120
    ; Misc
    ; Decides whether PHP may expose the fact that it is installed on the server
    ; (e.g. by adding its signature to the Web server header). It is no security
    ; threat in any way, but it makes it possible to determine whether you use PHP
    ; on your server or not.
    expose_php = Off
    ; Resource Limits ;
    max_execution_time = 120 ; Maximum execution time of each script, in seconds
    max_input_time = 120 ; Maximum amount of time each script may spend parsing request data
    ;max_input_nesting_level = 64 ; Maximum input variable nesting level
    memory_limit = 128M ; Maximum amount of memory a script may consume (32MB)
    ; Error handling and logging ;
    ; error_reporting is a bit-field. Or each number up to get desired error
    ; reporting level
    ; E_ALL - All errors and warnings (doesn't include E_STRICT)
    ; E_ERROR - fatal run-time errors
    ; E_RECOVERABLE_ERROR - almost fatal run-time errors
    ; E_WARNING - run-time warnings (non-fatal errors)
    ; E_PARSE - compile-time parse errors
    ; E_NOTICE - run-time notices (these are warnings which often result
    ; from a bug in your code, but it's possible that it was
    ; intentional (e.g., using an uninitialized variable and
    ; relying on the fact it's automatically initialized to an
    ; empty string)
    ; E_STRICT - run-time notices, enable to have PHP suggest changes
    ; to your code which will ensure the best interoperability
    ; and forward compatibility of your code
    ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
    ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
    ; initial startup
    ; E_COMPILE_ERROR - fatal compile-time errors
    ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
    ; E_USER_ERROR - user-generated error message
    ; E_USER_WARNING - user-generated warning message
    ; E_USER_NOTICE - user-generated notice message
    ; Examples:
    ; - Show all errors, except for notices and coding standards warnings
    ;error_reporting = E_ALL & ~E_NOTICE
    ; - Show all errors, except for notices
    ;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
    ; - Show only errors
    ;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
    ; - Show all errors, except coding standards warnings
    error_reporting = E_ALL
    ; Print out errors (as a part of the output). For production web sites,
    ; you're strongly encouraged to turn this feature off, and use error logging
    ; instead (see below). Keeping display_errors enabled on a production web site
    ; may reveal security information to end users, such as file paths on your Web
    ; server, your database schema or other information.
    ; possible values for display_errors:
    ; Off - Do not display any errors
    ; stderr - Display errors to STDERR (affects only CGI/CLI binaries!)
    ; On or stdout - Display errors to STDOUT (default)
    ; To output errors to STDERR with CGI/CLI:
    ;display_errors = "stderr"
    ; Default
    display_errors = On
    ; Even when display_errors is on, errors that occur during PHP's startup
    ; sequence are not displayed. It's strongly recommended to keep
    ; display_startup_errors off, except for when debugging.
    display_startup_errors = Off
    ; Log errors into a log file (server-specific log, stderr, or error_log (below))
    ; As stated above, you're strongly advised to use error logging in place of
    ; error displaying on production web sites.
    log_errors = Off
    ; Set maximum length of log_errors. In error_log information about the source is
    ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
    log_errors_max_len = 1024
    ; Do not log repeated messages. Repeated errors must occur in same file on same
    ; line until ignore_repeated_source is set true.
    ignore_repeated_errors = Off
    ; Ignore source of message when ignoring repeated messages. When this setting
    ; is On you will not log errors with repeated messages from different files or
    ; source lines.
    ignore_repeated_source = Off
    ; If this parameter is set to Off, then memory leaks will not be shown (on
    ; stdout or in the log). This has only effect in a debug compile, and if
    ; error reporting includes E_WARNING in the allowed list
    report_memleaks = Off
    ;report_zend_debug = 0
    ; Store the last error/warning message in $php_errormsg (boolean).
    track_errors = Off
    ; Disable the inclusion of HTML tags in error messages.
    ; Note: Never use this feature for production boxes.
    ;html_errors = Off
    ; If html_errors is set On PHP produces clickable error messages that direct
    ; to a page describing the error or function causing the error in detail.
    ; You can download a copy of the PHP manual from http://www.php.net/docs.php
    ; and change docref_root to the base URL of your local copy including the
    ; leading '/'. You must also specify the file extension being used including
    ; the dot.
    ; Note: Never use this feature for production boxes.
    ;docref_root = "/phpmanual/"
    ;docref_ext = .html
    ; String to output before an error message.
    ;error_prepend_string = "<font color=ff0000>"
    ; String to output after an error message.
    ;error_append_string = "</font>"
    ; Log errors to specified file.
    ;error_log = filename
    ; Log errors to syslog.
    error_log = syslog
    ; Data Handling ;
    ; Note - track_vars is ALWAYS enabled as of PHP 4.0.3
    ; The separator used in PHP generated URLs to separate arguments.
    ; Default is "&".
    ;arg_separator.output = "&"
    ; List of separator(s) used by PHP to parse input URLs into variables.
    ; Default is "&".
    ; NOTE: Every character in this directive is considered as separator!
    ;arg_separator.input = ";&"
    ; This directive describes the order in which PHP registers GET, POST, Cookie,
    ; Environment and Built-in variables (G, P, C, E & S respectively, often
    ; referred to as EGPCS or GPC). Registration is done from left to right, newer
    ; values override older values.
    variables_order = "GPCS"
    ; Whether or not to register the EGPCS variables as global variables. You may
    ; want to turn this off if you don't want to clutter your scripts' global scope
    ; with user data. This makes most sense when coupled with track_vars - in which
    ; case you can access all of the GPC variables through the $HTTP_*_VARS[],
    ; variables.
    ; You should do your best to write your scripts so that they do not require
    ; register_globals to be on; Using form variables as globals can easily lead
    ; to possible security problems, if the code is not very well thought of.
    register_globals = Off
    ; Whether or not to register the old-style input arrays, HTTP_GET_VARS
    ; and friends. If you're not using them, it's recommended to turn them off,
    ; for performance reasons.
    register_long_arrays = Off
    ; This directive tells PHP whether to declare the argv&argc variables (that
    ; would contain the GET information). If you don't use these variables, you
    ; should turn it off for increased performance.
    register_argc_argv = Off
    ; When enabled, the SERVER and ENV variables are created when they're first
    ; used (Just In Time) instead of when the script starts. If these variables
    ; are not used within a script, having this directive on will result in a
    ; performance gain. The PHP directives register_globals, register_long_arrays,
    ; and register_argc_argv must be disabled for this directive to have any affect.
    auto_globals_jit = On
    ; Maximum size of POST data that PHP will accept.
    post_max_size = 128M
    ; Magic quotes
    ; Magic quotes for incoming GET/POST/Cookie data.
    magic_quotes_gpc = Off
    ; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
    magic_quotes_runtime = Off
    ; Use Sybase-style magic quotes (escape ' with '' instead of \').
    magic_quotes_sybase = Off
    ; Automatically add files before or after any PHP document.
    auto_prepend_file =
    auto_append_file =
    ; As of 4.0b4, PHP always outputs a character encoding by default in
    ; the Content-type: header. To disable sending of the charset, simply
    ; set it to be empty.
    ; PHP's built-in default is text/html
    default_mimetype = "text/html"
    ;default_charset = "iso-8859-1"
    ; Always populate the $HTTP_RAW_POST_DATA variable.
    ;always_populate_raw_post_data = On
    ; Paths and Directories ;
    ; UNIX: "/path1:/path2"
    ;include_path = ".:/usr/share/pear"
    ; The root of the PHP pages, used only if nonempty.
    ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
    ; if you are running php as a CGI under any web server (other than IIS)
    ; see documentation for security issues. The alternate is to use the
    ; cgi.force_redirect configuration below
    doc_root =
    ; The directory under which PHP opens the script using /~username used only
    ; if nonempty.
    user_dir =
    ; Directory in which the loadable extensions (modules) reside.
    extension_dir = "/usr/lib/php/modules/"
    ; Whether or not to enable the dl() function. The dl() function does NOT work
    ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
    ; disabled on them.
    enable_dl = Off
    ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
    ; most web servers. Left undefined, PHP turns this on by default. You can
    ; turn it off here AT YOUR OWN RISK
    ; **You CAN safely turn this off for IIS, in fact, you MUST.**
    ; cgi.force_redirect = 1
    ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
    ; every request.
    ; cgi.nph = 1
    ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
    ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
    ; will look for to know it is OK to continue execution. Setting this variable MAY
    ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
    ; cgi.redirect_status_env = ;
    ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
    ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
    ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
    ; this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting
    ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
    ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
    ; cgi.fix_pathinfo=1
    ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
    ; security tokens of the calling client. This allows IIS to define the
    ; security context that the request runs under. mod_fastcgi under Apache
    ; does not currently support this feature (03/17/2002)
    ; Set to 1 if running under IIS. Default is zero.
    ; fastcgi.impersonate = 1;
    ; Disable logging through FastCGI connection
    ; fastcgi.logging = 0
    ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
    ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
    ; is supported by Apache. When this option is set to 1 PHP will send
    ; RFC2616 compliant header.
    ; Default is zero.
    ;cgi.rfc2616_headers = 0
    ; File Uploads ;
    ; Whether to allow HTTP file uploads.
    file_uploads = On
    ; Temporary directory for HTTP uploaded files (will use system default if not
    ; specified).
    ;upload_tmp_dir =
    ; Maximum allowed size for uploaded files.
    upload_max_filesize = 128M
    ; Fopen wrappers ;
    ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
    allow_url_fopen = On
    ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
    allow_url_include = Off
    ; Define the anonymous ftp password (your email address)
    ;from="[email protected]"
    ; Define the User-Agent string
    ; user_agent="PHP"
    ; Default timeout for socket based streams (seconds)
    default_socket_timeout = 10
    ; Dynamic Extensions ;
    ; If you wish to have an extension loaded automatically, use the following
    ; syntax:
    ; extension=modulename.extension
    ; For example, under UNIX:
    ; extension=msql.so
    ; Note that it should be the name of the module only; no directory information
    ; needs to go here. Specify the location of the extension with the
    ; extension_dir directive above.
    ; Module Settings ;
    [Date]
    ; Defines the default timezone used by the date functions
    ;date.timezone =
    ;date.default_latitude = 31.7667
    ;date.default_longitude = 35.2333
    ;date.sunrise_zenith = 90.583333
    ;date.sunset_zenith = 90.583333
    [filter]
    ;filter.default = unsafe_raw
    ;filter.default_flags =
    [iconv]
    ;iconv.input_encoding = ISO-8859-1
    ;iconv.internal_encoding = ISO-8859-1
    ;iconv.output_encoding = ISO-8859-1
    [sqlite]
    ;sqlite.assoc_case = 0
    [xmlrpc]
    ;xmlrpc_error_number = 0
    ;xmlrpc_errors = 0
    [Pcre]
    ;PCRE library backtracking limit.
    ;pcre.backtrack_limit=100000
    ;PCRE library recursion limit.
    ;Please note that if you set this value to a high number you may consume all
    ;the available process stack and eventually crash PHP (due to reaching the
    ;stack size limit imposed by the Operating System).
    ;pcre.recursion_limit=100000
    [Syslog]
    ; Whether or not to define the various syslog variables (e.g. $LOG_PID,
    ; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In
    ; runtime, you can define these variables by calling define_syslog_variables().
    define_syslog_variables = Off
    [mail function]
    ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
    ;sendmail_path =
    ; Force the addition of the specified parameters to be passed as extra parameters
    ; to the sendmail binary. These parameters will always replace the value of
    ; the 5th parameter to mail(), even in safe mode.
    ;mail.force_extra_parameters =
    [SQL]
    sql.safe_mode = Off
    [ODBC]
    ;odbc.default_db = Not yet implemented
    ;odbc.default_user = Not yet implemented
    ;odbc.default_pw = Not yet implemented
    ; Allow or prevent persistent links.
    odbc.allow_persistent = On
    ; Check that a connection is still valid before reuse.
    odbc.check_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    odbc.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    odbc.max_links = -1
    ; Handling of LONG fields. Returns number of bytes to variables. 0 means
    ; passthru.
    odbc.defaultlrl = 4096
    ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
    ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
    ; of uodbc.defaultlrl and uodbc.defaultbinmode
    odbc.defaultbinmode = 1
    [MySQL]
    ; Allow or prevent persistent links.
    mysql.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    mysql.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    mysql.max_links = -1
    ; Default port number for mysql_connect(). If unset, mysql_connect() will use
    ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
    ; compile-time value defined MYSQL_PORT (in that order).
    mysql.default_port =
    ; Default socket name for local MySQL connects. If empty, uses the built-in
    ; MySQL defaults.
    mysql.default_socket =
    ; Default host for mysql_connect() (doesn't apply in safe mode).
    mysql.default_host =
    ; Default user for mysql_connect() (doesn't apply in safe mode).
    mysql.default_user =
    ; Default password for mysql_connect() (doesn't apply in safe mode).
    ; Note that this is generally a *bad* idea to store passwords in this file.
    ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
    ; and reveal this password! And of course, any users with read access to this
    ; file will be able to reveal the password as well.
    mysql.default_password =
    ; Maximum time (in seconds) for connect timeout. -1 means no limit
    mysql.connect_timeout = 60
    ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
    ; SQL-Errors will be displayed.
    mysql.trace_mode = Off
    [MySQLi]
    ; Maximum number of links. -1 means no limit.
    mysqli.max_links = -1
    ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
    ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
    ; compile-time value defined MYSQL_PORT (in that order).
    mysqli.default_port = 3306
    ; Default socket name for local MySQL connects. If empty, uses the built-in
    ; MySQL defaults.
    mysqli.default_socket =
    ; Default host for mysql_connect() (doesn't apply in safe mode).
    mysqli.default_host =
    ; Default user for mysql_connect() (doesn't apply in safe mode).
    mysqli.default_user =
    ; Default password for mysqli_connect() (doesn't apply in safe mode).
    ; Note that this is generally a *bad* idea to store passwords in this file.
    ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
    ; and reveal this password! And of course, any users with read access to this
    ; file will be able to reveal the password as well.
    mysqli.default_pw =
    ; Allow or prevent reconnect
    mysqli.reconnect = Off
    [mSQL]
    ; Allow or prevent persistent links.
    msql.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    msql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent). -1 means no limit.
    msql.max_links = -1
    [OCI8]
    ; enables privileged connections using external credentials (OCI_SYSOPER, OCI_SYSDBA)
    ;oci8.privileged_connect = Off
    ; Connection: The maximum number of persistent OCI8 connections per
    ; process. Using -1 means no limit.
    ;oci8.max_persistent = -1
    ; Connection: The maximum number of seconds a process is allowed to
    ; maintain an idle persistent connection. Using -1 means idle
    ; persistent connections will be maintained forever.
    ;oci8.persistent_timeout = -1
    ; Connection: The number of seconds that must pass before issuing a
    ; ping during oci_pconnect() to check the connection validity. When
    ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
    ; pings completely.
    ;oci8.ping_interval = 60
    ; Tuning: This option enables statement caching, and specifies how
    ; many statements to cache. Using 0 disables statement caching.
    ;oci8.statement_cache_size = 20
    ; Tuning: Enables statement prefetching and sets the default number of
    ; rows that will be fetched automatically after statement execution.
    ;oci8.default_prefetch = 10
    ; Compatibility. Using On means oci_close() will not close
    ; oci_connect() and oci_new_connect() connections.
    ;oci8.old_oci_close_semantics = Off
    [PostgresSQL]
    ; Allow or prevent persistent links.
    pgsql.allow_persistent = On
    ; Detect broken persistent links always with pg_pconnect().
    ; Auto reset feature requires a little overheads.
    pgsql.auto_reset_persistent = Off
    ; Maximum number of persistent links. -1 means no limit.
    pgsql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent). -1 means no limit.
    pgsql.max_links = -1
    ; Ignore PostgreSQL backends Notice message or not.
    ; Notice message logging require a little overheads.
    pgsql.ignore_notice = 0
    ; Log PostgreSQL backends Noitce message or not.
    ; Unless pgsql.ignore_notice=0, module cannot log notice message.
    pgsql.log_notice = 0
    [Sybase]
    ; Allow or prevent persistent links.
    sybase.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    sybase.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    sybase.max_links = -1
    ;sybase.interface_file = "/usr/sybase/interfaces"
    ; Minimum error severity to display.
    sybase.min_error_severity = 10
    ; Minimum message severity to display.
    sybase.min_message_severity = 10
    ; Compatibility mode with old versions of PHP 3.0.
    ; If on, this will cause PHP to automatically assign types to results according
    ; to their Sybase type, instead of treating them all as strings. This
    ; compatibility mode will probably not stay around forever, so try applying
    ; whatever necessary changes to your code, and turn it off.
    sybase.compatability_mode = Off
    [Sybase-CT]
    ; Allow or prevent persistent links.
    sybct.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    sybct.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    sybct.max_links = -1
    ; Minimum server message severity to display.
    sybct.min_server_severity = 10
    ; Minimum client message severity to display.
    sybct.min_client_severity = 10
    [bcmath]
    ; Number of decimal digits for all bcmath functions.
    bcmath.scale = 0
    [browscap]
    ;browscap = extra/browscap.ini
    [Informix]
    ; Default host for ifx_connect() (doesn't apply in safe mode).
    ifx.default_host =
    ; Default user for ifx_connect() (doesn't apply in safe mode).
    ifx.default_user =
    ; Default password for ifx_connect() (doesn't apply in safe mode).
    ifx.default_password =
    ; Allow or prevent persistent links.
    ifx.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    ifx.max_persistent = -1
    ; Maximum number of links (persistent + non-persistent). -1 means no limit.
    ifx.max_links = -1
    ; If on, select statements return the contents of a text blob instead of its id.
    ifx.textasvarchar = 0
    ; If on, select statements return the contents of a byte blob instead of its id.
    ifx.byteasvarchar = 0
    ; Trailing blanks are stripped from fixed-length char columns. May help the
    ; life of Informix SE users.
    ifx.charasvarchar = 0
    ; If on, the contents of text and byte blobs are dumped to a file instead of
    ; keeping them in memory.
    ifx.blobinfile = 0
    ; NULL's are returned as empty strings, unless this is set to 1. In that case,
    ; NULL's are returned as string 'NULL'.
    ifx.nullformat = 0
    [Session]
    ; Handler used to store/retrieve data.
    session.save_handler = files
    ; Argument passed to save_handler. In the case of files, this is the path
    ; where data files are stored.
    ; As of PHP 4.0.1, you can define the path as:
    ; session.save_path = "N;/path"
    ; where N is an integer. Instead of storing all the session files in
    ; /path, what this will do is use subdirectories N-levels deep, and
    ; store the session data in those directories. This is useful if you
    ; or your OS have problems with lots of files in one directory, and is
    ; a more efficient layout for servers that handle lots of sessions.
    ; NOTE 1: PHP will not create this directory structure automatically.
    ; You can use the script in the ext/session dir for that purpose.
    ; NOTE 2: See the section on garbage collection below if you choose to
    ; use subdirectories for session storage
    ; The file storage module creates files using mode 600 by default.
    ; You can change that by using
    ; session.save_path = "N;MODE;/path"
    ; where MODE is the octal representation of the mode. Note that this
    ; does not overwrite the process's umask.
    session.save_path = "/www/sessions"
    ; Whether to use cookies.
    session.use_cookies = 1
    ;session.cookie_secure =
    ; This option enables administrators to make their users invulnerable to
    ; attacks which involve passing session ids in URLs; defaults to 0.
    session.use_only_cookies = 1
    ; Name of the session (used as cookie name).
    session.name = ServerSessionIdentifier
    ; Initialize session on request startup.
    session.auto_start = 0
    ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
    session.cookie_lifetime = 0
    ; The path for which the cookie is valid.
    session.cookie_path = /
    ; The domain for which the cookie is valid.
    session.cookie_domain =
    ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
    session.cookie_httponly = 1
    ; Handler used to serialize data. php is the standard serializer of PHP.
    session.serialize_handler = php
    ; Define the probability that the 'garbage collection' process is started
    ; on every session initialization.
    ; The probability is calculated by using gc_probability/gc_divisor,
    ; e.g. 1/100 means there is a 1% chance that the GC process starts
    ; on each request.
    session.gc_probability = 1
    session.gc_divisor = 30
    ; After this number of seconds, stored data will be seen as 'garbage' and
    ; cleaned up by the garbage collection process.
    session.gc_maxlifetime = 3600
    ; NOTE: If you are using the subdirectory option for storing session files
    ; (see session.save_path above), then garbage collection does *not*
    ; happen automatically. You will need to do your own garbage
    ; collection through a shell script, cron entry, or some other method.
    ; For example, the following script would is the equivalent of
    ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
    ; cd /path/to/sessions; find -cmin +24 | xargs rm
    ; PHP 4.2 and less have an undocumented feature/bug that allows you to
    ; to initialize a session variable in the global scope, albeit register_globals
    ; is disabled. PHP 4.3 and later will warn you, if this feature is used.
    ; You can disable the feature and the warning separately. At this time,
    ; the warning is only displayed, if bug_compat_42 is enabled.
    session.bug_compat_42 = 0
    session.bug_compat_warn = 1
    ; Check HTTP Referer to invalidate externally stored URLs containing ids.
    ; HTTP_REFERER has to contain this substring for the session to be
    ; considered as valid.
    session.referer_check =
    ; How many bytes to read from the file.
    session.entropy_length = 0
    ; Specified here to create the session id.
    session.entropy_file =
    ;session.entropy_length = 16
    ;session.entropy_file = /dev/urandom
    ; Set to {nocache,private,public,} to determine HTTP caching aspects
    ; or leave this empty to avoid sending anti-caching headers.
    session.cache_limiter = none
    ; Document expires after n minutes.
    session.cache_expire = 0
    ; trans sid support is disabled by default.
    ; Use of trans sid may risk your users security.
    ; Use this option with caution.
    ; - User may send URL contains active session ID
    ; to other person via. email/irc/etc.
    ; - URL that contains active session ID may be stored
    ; in publically accessible computer.
    ; - User may access your site with the same session ID
    ; always using URL stored in browser's history or bookmarks.
    session.use_trans_sid = 0
    ; Select a hash function
    ; 0: MD5 (128 bits)
    ; 1: SHA-1 (160 bits)
    session.hash_function = 1
    ; Define how many bits are stored in each character when converting
    ; the binary hash data to something readable.
    ; 4 bits: 0-9, a-f
    ; 5 bits: 0-9, a-v
    ; 6 bits: 0-9, a-z, A-Z, "-", ","
    session.hash_bits_per_character = 6
    ; The URL rewriter will look for URLs in a defined set of HTML tags.
    ; form/fieldset are special; if you include them here, the rewriter will
    ; add a hidden <input> field with the info which is otherwise appended
    ; to URLs. If you want XHTML conformity, remove the form entry.
    ; Note that all valid entries require a "=", even if no value follows.
    ;url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
    [MSSQL]
    ; Allow or prevent persistent links.
    mssql.allow_persistent = On
    ; Maximum number of persistent links. -1 means no limit.
    mssql.max_persistent = -1
    ; Maximum number of links (persistent+non persistent). -1 means no limit.
    mssql.max_links = -1
    ; Minimum error severity to display.
    mssql.min_error_severity = 10
    ; Minimum message severity to display.
    mssql.min_message_severity = 10
    ; Compatibility mode with old versions of PHP 3.0.
    mssql.compatability_mode = Off
    ; Connect timeout
    ;mssql.connect_timeout = 5
    ; Query timeout
    ;mssql.timeout = 60
    ; Valid range 0 - 2147483647. Default = 4096.
    ;mssql.textlimit = 4096
    ; Valid range 0 - 2147483647. Default = 4096.
    ;mssql.textsize = 4096
    ; Limits the number of records in each batch. 0 = all records in one batch.
    ;mssql.batchsize = 0
    ; Specify how datetime and datetim4 columns are returned
    ; On => Returns data converted to SQL server settings
    ; Off => Returns values as YYYY-MM-DD hh:mm:ss
    ;mssql.datetimeconvert = On
    ; Use NT authentication when connecting to the server
    mssql.secure_connection = Off
    ; Specify max number of processes. -1 = library default
    ; msdlib defaults to 25
    ; FreeTDS defaults to 4096
    ;mssql.max_procs = -1
    ; Specify client character set.
    ; If empty or not set the client charset from freetds.comf is used
    ; This is only used when compiled with FreeTDS
    ;mssql.charset = "ISO-8859-1"
    [Assertion]
    ; Assert(expr); active by default.
    ;assert.active = On
    ; Issue a PHP warning for each failed assertion.
    ;assert.warning = On
    ; Don't bail out by default.
    ;assert.bail = Off
    ; User-function to be called if an assertion fails.
    ;assert.callback = 0
    ; Eval the expression with current error_reporting(). Set to true if you want
    ; error_reporting(0) around the eval().
    ;assert.quiet_eval = 0
    [COM]
    ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
    ;com.typelib_file =
    ; allow Distributed-COM calls
    ;com.allow_dcom = true
    ; autoregister constants of a components typlib on com_load()
    ;com.autoregister_typelib = true
    ; register constants casesensitive
    ;com.autoregister_casesensitive = false
    ; show warnings on duplicate constant registrations
    ;com.autoregister_verbose = true
    [mbstring]
    ; language for internal character representation.
    ;mbstring.language = Japanese
    ; internal/script encoding.
    ; Some encoding cannot work as internal encoding.
    ; (e.g. SJIS, BIG5, ISO-2022-*)
    ;mbstring.internal_encoding = EUC-JP
    ; http input encoding.
    ;mbstring.http_input = auto
    ; http output encoding. mb_output_handler must be
    ; registered as output buffer to function
    ;mbstring.http_output = SJIS
    ; enable automatic encoding translation according to
    ; mbstring.internal_encoding setting. Input chars are
    ; converted to internal encoding by setting this to On.
    ; Note: Do _not_ use automatic encoding translation for
    ; portable libs/applications.
    ;mbstring.encoding_translation = Off
    ; automatic encoding detection order.
    ; auto means
    ;mbstring.detect_order = auto
    ; substitute_character used when character cannot be converted
    ; one from another
    ;mbstring.substitute_character = none;
    ; overload(replace) single byte functions by mbstring functions.
    ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(),
    ; etc. Possible values are 0,1,2,4 or combination of them.
    ; For example, 7 for overload everything.
    ; 0: No overload
    ; 1: Overload mail() function
    ; 2: Overload str*() functions
    ; 4: Overload ereg*() functions
    ;mbstring.func_overload = 0
    ; enable strict encoding detection.
    ;mbstring.strict_encoding = Off
    [FrontBase]
    ;fbsql.allow_persistent = On
    ;fbsql.autocommit = On
    ;fbsql.show_timestamp_decimals = Off
    ;fbsql.default_database =
    ;fbsql.default_database_password =
    ;fbsql.default_host =
    ;fbsql.default_password =
    ;fbsql.default_user = "_SYSTEM"
    ;fbsql.generate_warnings = Off
    ;fbsql.max_connections = 128
    ;fbsql.max_links = 128
    ;fbsql.max_persistent = -1
    ;fbsql.max_results = 128
    [gd]
    ; Tell the jpeg decode to libjpeg warnings and try to create
    ; a gd image. The warning will then be displayed as notices
    ; disabled by default
    ;gd.jpeg_ignore_warning = 0
    [exif]
    ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS.
    ; With mbstring support this will automatically be converted into the encoding
    ; given by corresponding encode setting. When empty mbstring.internal_encoding
    ; is used. For the decode settings you can distinguish between motorola and
    ; intel byte order. A decode setting cannot be empty.
    ;exif.encode_unicode = ISO-8859-15
    ;exif.decode_unicode_motorola = UCS-2BE
    ;exif.decode_unicode_intel = UCS-2LE
    ;exif.encode_jis =
    ;exif.decode_jis_motorola = JIS
    ;exif.decode_jis_intel = JIS
    [Tidy]
    ; The path to a default tidy configuration file to use when using tidy
    ;tidy.default_config = /usr/local/lib/php/default.tcfg
    ; Should tidy clean and repair output automatically?
    ; WARNING: Do not use this option if you are generating non-html content
    ; such as dynamic images
    tidy.clean_output = Off
    [soap]
    ; Enables or disables WSDL caching feature.
    soap.wsdl_cache_enabled=1
    ; Sets the directory name where SOAP extension will put cache files.
    soap.wsdl_cache_dir="/tmp"
    ; (time to live) Sets the number of second while cached file will be used
    ; instead of original one.
    soap.wsdl_cache_ttl=86400
    ; available extensions
    ;extension=bcmath.so
    ;extension=bz2.so
    ;extension=calendar.so
    ;extension=curl.so
    ;extension=dba.so
    ;extension=dbase.so
    ;extension=exif.so
    ;extension=ftp.so
    extension=gd.so
    extension=gettext.so
    ;extension=iconv.so
    ;extension=imap.so
    ;extension=json.so
    ;extension=ldap.so
    extension=mcrypt.so
    ;extension=mime_magic.so
    extension=mysql.so
    ;extension=mysqli.so
    ;extension=ncurses.so
    ;extension=odbc.so
    extension=openssl.so
    extension=pdo.so
    extension=pdo_mysql.so
    ;extension=pdo_odbc.so
    ;extension=pdo_pgsql.so
    ;extension=pdo_sqlite.so
    ;extension=pgsql.so
    ;extension=posix.so
    ;extension=pspell.so
    extension=session.so
    ;extension=shmop.so
    ;extension=snmp.so
    ;extension=soap.so
    extension=sockets.so
    ;extension=sqlite.so
    ;extension=sysvmsg.so
    ;extension=sysvsem.so
    ;extension=sysvshm.so
    ;extension=tidy.so
    ;extension=xmlrpc.so
    ;extension=xsl.so
    ;extension=zip.so
    extension=zlib.so
    ; Local Variables:
    ; tab-width: 4
    ; End:
    Some more info:
    [root@Taurine etc]# php-cgi -m
    [PHP Modules]
    cgi-fcgi
    Core
    ctype
    date
    dom
    ereg
    fileinfo
    filter
    gettext
    hash
    libxml
    mbstring
    mysql
    mysqlnd
    openssl
    pcre
    PDO
    pdo_mysql
    Reflection
    session
    SimpleXML
    sockets
    SPL
    standard
    tokenizer
    xml
    xmlreader
    xmlwriter
    zlib
    [Zend Modules]
    [root@Taurine etc]# php-cgi -v
    PHP 5.3.0 with Suhosin-Patch (cgi-fcgi) (built: Sep 16 2009 13:55:34)
    Copyright (c) 1997-2009 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
    [root@Taurine etc]# cd /usr/lib/php/modules/
    [root@Taurine modules]# ls -alh
    totalt 3,2M
    drwxr-xr-x 2 root root 4,0K 16 sep 13.57 .
    drwxr-xr-x 4 root root 4,0K 16 sep 13.57 ..
    -rwxr-xr-x 1 root root 27K 16 sep 13.57 bcmath.so
    -rwxr-xr-x 1 root root 21K 16 sep 13.57 bz2.so
    -rwxr-xr-x 1 root root 25K 16 sep 13.57 calendar.so
    -rwxr-xr-x 1 root root 51K 16 sep 13.57 dba.so
    -rwxr-xr-x 1 root root 52K 16 sep 13.57 exif.so
    -rwxr-xr-x 1 root root 46K 16 sep 13.57 ftp.so
    -rwxr-xr-x 1 root root 11K 16 sep 13.57 gettext.so
    -rwxr-xr-x 1 root root 37K 16 sep 13.57 iconv.so
    -rwxr-xr-x 1 root root 1,2M 16 sep 13.57 imap.so
    -rwxr-xr-x 1 root root 35K 16 sep 13.57 json.so
    -rwxr-xr-x 1 root root 43K 16 sep 13.57 mysql.so
    -rwxr-xr-x 1 root root 109K 16 sep 13.57 mysqli.so
    -rwxr-xr-x 1 root root 110K 16 sep 13.57 openssl.so
    -rwxr-xr-x 1 root root 98K 16 sep 13.57 pdo.so
    -rwxr-xr-x 1 root root 24K 16 sep 13.57 pdo_mysql.so
    -rwxr-xr-x 1 root root 286K 16 sep 13.57 phar.so
    -rwxr-xr-x 1 root root 26K 16 sep 13.57 posix.so
    -rwxr-xr-x 1 root root 9,8K 16 sep 13.57 shmop.so
    -rwxr-xr-x 1 root root 356K 16 sep 13.57 soap.so
    -rwxr-xr-x 1 root root 46K 16 sep 13.57 sockets.so
    -rwxr-xr-x 1 root root 355K 16 sep 13.57 sqlite.so
    -rwxr-xr-x 1 root root 15K 16 sep 13.57 sysvmsg.so
    -rwxr-xr-x 1 root root 8,3K 16 sep 13.57 sysvsem.so
    -rwxr-xr-x 1 root root 11K 16 sep 13.57 sysvshm.so
    -rwxr-xr-x 1 root root 79K 16 sep 13.57 xmlrpc.so
    -rwxr-xr-x 1 root root 79K 16 sep 13.57 zip.so
    Last edited by nullvoid (2009-09-22 17:39:47)

  • Full screen auto-hide feature does not work with Adobe Acrobat Reader add-on 11.0.0.379 in Firefox 17.01.

    "Full screen" menu item and its keyboard short cut F11 stop working with Acrobat Reader. The Firefox top edge border does not hide once you have moved around in the Acrobat document. Therefore it is not possible to display PDF documents in a true full screen mode within Firefox. The auto-hide full screen mode works nicely with other Firefox windows, so apparently the Acrobat Reader add-on breaks the feature. Windows 7 64-bit.

    From the JS API Reference of the print method:
    Non-interactive printing can only be executed during batch, console, and menu
    events.
    Outside of batch, console, and menu events, the values of bUI and of interactive are ignored
    and a print dialog box will always be presented.

  • Problem Working With Framemaker 9 Dita XML Files in Framemaker 10

    I just upgraded to Framemaker 10. I am encountering a number of problems when I try to work with my Dita XML help topics, which were last saved in Framemaker 9 format.
    1. Using the Default Dita Template
    When I open one of my documents in Framemaker 10, the Dita 1.2 template ditabase.fm is automatically applied. Everything seems fine. But then when I convert the XML to Eclipse help (which is essentially html, so we're going from XML to HTML) using Dita Open Toolkit ant scripts, I see this message:
    [pipeline] [DOTJ013E][ERROR] Failed to parse the referenced file 'html\c_licensing.xml' due to below exception. Please correct the reference base on the exception message.
    [pipeline] c_licensing.xml Line 25:Attribute "xmlns:ditaarch" must be declared for element type "dita".
    I then opened the xml  file in a text editor, and I saw this on line 25:
    <dita xmlns:ditaarch = "http://dita.oasis-open.org/architecture/2005/">
    Line 25 looks fine to me. Am I missing something? 
    2. Switching to a 1.1 Dita Template
    I tried to work around the above problem. In Framemaker, I tried to set a different structured application as the default one. I closed all files and chose the default Dita 1.1 structured application (it defaults to the Dita 1.1. Composite app.)
    Then I tried to open my file: I got this message inside Framemaker:
    "Validation of XML failed. Continue?
    Error at [FILE PATH], line 25, char 72, Message: Attribute '{http://www.w3.org/2000/xmlns/}ditaarch' is not declared for element 'dita'
    Sounds familiar, doesn't it?
    I switched from the default Dita 1.1. Composite structured application to the Dita 1.1. Topic structured application. Then I dirtied the source file and saved it. The messages I got in FrameMaker log window included the one above, plus I got a variety of Unknown Element messages, things like this:
    Unknown element dita,
    unknown element concept,
    various attributes are not declared for concept,
    unknown element conbody.
    If I switch back to the Dita 1.1 Composite application all of these messages diappear except for this one:
    Attribute '{http://www.w3.org/2000/xmlns/}ditaarch' is not declared for element 'dita'
    My ant conversion scripts from the Dita Open Toolkit are still unable to process this file. They give the same message as is listed in (1) above and the file is not converted to HTML.
    Can anyone help me with this problem? I've also posted this question to the Dita Users Group on Yahoo Groups. If I get an answer in one place, I'll post it in the other.
    Thanks,
    Nina P.

    I really appreciate all the help you are providing with this, Scott. I tried your latest suggestions. Here's what happened:
    Application Mappings:
    I figured out how to add my "BigPage" structured application to the Applications Mappings dialog. I made a new "BigPage"  mapping type, then figured out the non-intuitive part: how to add my individual BigPage topic types to it.  I closed and reopened FrameMaker opened my test document, and, as before (before I did the application mappings) I saw my BigPage applications listed in the Structure Tools > Set Structured Application drop-down. I selected the appropriate application (in this case it was DITA1.1-BigPage-Reference-FM and clicked the "Set" button. 
    It is at this point in Framemaker 9 (and also once, in FrameMaker 10, early in this process, but I haven't been able to replicate it since) that the page size would change to tabloid size, indicating that the document was using the template from the BigPage reference structured application, not the regular DITA1.1 reference application. But this did not happen.
    I tried saving the document, closing it, and reopening it. Once again the default structured application assigned to that document was "reset" to DITA1.1-Reference-FM.  But the fact that the page size did not immediate refresh to tabloid size told me that although I did select the BigPage application in the drop-down, it wasn't being applied.
    Public IDs:
    The public ID in my test reference XML file is:  <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd" [
    The four public IDs in the DITA1.1-BigPage-Reference-FM entry in structapps.fm (in the Entity Locations section) are:
    -//OASIS//DTD DITA Reference//EN 
    -//IBM//DTD DITA Reference//EN
    -//OASIS//DTD DITA Composite//EN
    -//IBM//DTD DITA Composite//EN
    Do you see anything wrong with the above? .
    Directory Structure: 
    Maybe I cloned the application incorrectly?  Here's what I did:
    1. In C:\Program Files (x86)\Adobe\AdobeFrameMaker10\Structure\xml, I copied the folder called DITA and pasted it into the same directory. I renamed this folder DITA-BigPage
    2. Inside DITA-BigPage, I opened the app folder. Inside each subfolder in app, DITA-Reference-FM, for example, I opened the edd file in Framemaker. In this case, the edd file name was reference.edd.fm.
    3. I edited the top line of reference.edd.fm.  It originally said:
    Structured Application: DITA1.1-Reference-FM.
    I changed it to say:
    Structured Application: DITA1.1-BigPage-Reference-FM
    4. I saved the EDD file. Then I opened the template file in the same folder. It was called: reference.template.fm.
    5. In reference.template.fm, I first changed my page size: Format Menu > Page Layout > Page Size > Tabloid > Set.
    6. Then I imported the element definitions from the corresponding EDD file:  File > Import > Element Definitions > reference.edd.fm > Click Import > Click OK to dismiss verification message.
    7. I repeated the above process for all topic-type folders. For the maps types, I did not change the page size, as these will never display as topics in my online  help. I did nothing to the dtd folder.
    8. Once all this was done, I opened structapps.fm.  I did the following to all Dita1.1 elements in the structure tree.
    Selected the Dita 1.1 XMLApplication element, for instance, the one named Dita1.1-Reference-FM, copied it, and pasted it underneath the original element.
    The original first few lines in the clone looked like this:
    Application Name: DITA1.1-Reference-FM
          Template:              $STRUCTDIR\xml\DITA\app\DITA-Reference-FM\reference.template.fm
          DTD:                       $STRUCTDIR\xml\DITA\app\dtd\reference.dtd
          Read/write Rules:  $STRUCTDIR\xml\DITA\app\DITA-Reference-FM\reference.rules.fm
          DOCTYPE:              reference
    I changed these lines to look like this, using your suggestion to create a variable for the first part of the URLs to enable speed and accuracy:
           Application Name:      DITA1.1-BigPage-Reference-FM
                   Template:                    $STRUCTDIR\xml\DITA-BigPage\app\DITA-Reference-FM\reference.template.fm
                   DTD:                            $STRUCTDIR\xml\DITA-BigPage\app\dtd\reference.dtd
                   Read/write Rules:        $STRUCTDIR\xml\DITA-BigPage\app\DITA-Reference-FM\reference.rules.fm
                   DOCTYPE:                    reference
    I also changed the "Filename" URLs in the "Entity Locations" section of this XMLApplication clone from  $STRUCTDIR\xml\DITA\app\  to $STRUCTDIR\xml\DITA-BigPage\app\.  Applying the "BigPage" variable I'd created for this purpose made this go quickly.
    Finally, after this didn't work the first few times I tried it, I got suspicious that the structapps.fm file in my AppData folder (in my case, it was in the Roaming subfolder under the usual Adobe directories) was overriding the modified structapps.fm file in the Framemaker program directory so I replaced the one in AppData (it had all the original settings) with my modified version.  This had no effect, unfortunately.
    That was my process. After doing the above, the Dita1.1-BigPage applications all listed in the Set Structured App drop-down. They just didn't work,when applied to my XML documents. Nor did the application "remember" what structured application I had set when I opened a new xml document  or closed/reopened the current document or closed/reopened the application.  Did I place the directories correctly for Framemaker 10?  This is the way I did it for FrameMaker 9 and it worked successfully.
    As much as I'd love to solve this mystery, I've thought of a workaround I can fall back on  that doesn't involve using a cloned application.  I will change the page size of a few of the original Dita1.1 sturctured application templates to tabloid size, but leave the Topic structured application at letter size. I'll then apply the Topic structured application to my PDFs and use the others for my help topics.  I'll set this up now. If this doesn't work, then I'll know there's a much bigger problem at the base of this, perhaps even something to do with changing page sizes in templates.

  • Sharepoint list dataheet view error "Cannot connect to the server at this time. You can continue working with this list, but some data may not be available"

    I have a List which is having around 14000 items in it.while opening that list in datasheet view it is giving error .
    Below is a summary of the issue:
    After selecting datasheet view beow error occurs:
        "Cannot connect to the server at this time.  You can continue working with this list, but some data may not be available."
        "Unable to retrieve all data."
        The item counts displays say 100 out of 14000 items.
    Exporting List to excel is giving only 2000 records out of 14000 records.
    Other Observations   -  
    This is happening to only one list on the site .There are other lists in the site whose no. of records is equal to 8000 to 9000.They are working absolutely fine without any error.
    Also, If I am saving this list as a template and creating another list with it ,then it is working absolutely fine with 14000 records,so the issue does not seem to be related with no. of records as the template list is working fine.
    I have checked the Alternate access mapping setting ,its fine.
    It should not be related to lookup,datefield or any other column as the list created from it template is working fine with all these columns.
    I checked below links also ,but doesn't seem to work in my case.
    http://social.technet.microsoft.com/forums/en-US/sharepointadminprevious/thread/974b9168-f548-409b-a7f9-a79b9fdd4c50/
    http://social.technet.microsoft.com/Forums/en-US/smallbusinessserver/thread/87077dd8-a329-48e8-b42d-d0a8bf87b082
    http://social.msdn.microsoft.com/Forums/en-US/sharepointgeneral/thread/dc757598-f670-4229-9f8a-07656346b9b0

    I have spent two days to resolve this issue. Microsoft has released two KBs with reference to this issue...but are not appearing in search results at the top.
    I am sharing my finding.
    1. First install the
    KB2552989 (Hopefully you might have already installed it. The KB detetcts it and informs the user.)
    2. Then update registry by adding new key for data fetch timeout as mentioned inKB2553007
    These two steps resolved the issue in our environment. Hope it might help others as well.
    Pradip T. ------------- MCTS(SharePoint 2010/Web)|MCPD(Web Development) https://www.mcpvirtualbusinesscard.com/VBCServer/paddytakate/profile

  • ActionListener not working with JFrame

    Hi,
    I've just rehashed an old bit of code to work with a new application but for some reason the JButton ActionListeners aren't working. However if I extend JDialog they work ok. The current code for JDialog is:-
    * File:     GUI.java
    * @author           ODL 3xx Distributed Systems - Team x
    * @description      This class provides a means for the user to
    *                    interact with file server.
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.*;
    import java.net.*;
    public class GUI extends JDialog implements ActionListener, ApplicationConstants {
        private JLabel label1, label2, label3, label4, label5;
        private JTextField field1, field2, field3, field4, field5;
        private JButton button1, button2, button3, button4, button5;
        private Container container;
        private Message sendFile;
        private String id;
        private String defaultText = "Enter file name here";
        private ClientForGUI client;
        private long timeStart, timeEnd;
        public GUI(JFrame frame) {
            super(frame, "File Server Actions", true);
            client = new ClientForGUI(this);
            try{
                   InetAddress addr = InetAddress.getLocalHost();
                   id = addr.getHostName() + Long.toString((new java.util.Date()).getTime());
                   if(client.connectToServer())
                   initGUI();
                   else{
                        JOptionPane.showMessageDialog(this, "Unable to connect to server", "Error", JOptionPane.WARNING_MESSAGE);
                        System.exit(0);
              catch(UnknownHostException uhe){
                   System.out.println("Unknown Host Exception");
            initGUI();
         * Create the GUI
        private void initGUI() {
            container = this.getContentPane();
            container.setLayout(null);
            label1 = new JLabel("Upload File");
            label2 = new JLabel("Rename File");
            label3 = new JLabel("Delete File");
            label4 = new JLabel("Create File");
            label5 = new JLabel("Download File");
            field1 = new JTextField();
            field2 = new JTextField();
            field3 = new JTextField();
            field4 = new JTextField();
            field5 = new JTextField();
            button1 = new JButton("Upload");
            button2 = new JButton("Rename");
            button3 = new JButton("Delete");
            button4 = new JButton("Create");
            button5 = new JButton("Download");
            label1.setBounds(10,10,80,20);
            label2.setBounds(10,40,80,20);
            label3.setBounds(10,70,80,20);
            label4.setBounds(10,100,80,20);
            label5.setBounds(10,130,80,20);
            field1.setBounds(100,40,200,20);
            field1.setText("Old name");
            field2.setBounds(310,40,200,20);
            field2.setText("New name");
            field3.setBounds(100,70,410,20);
            field3.setText(defaultText);
            field4.setBounds(100,100,410,20);
            field4.setText(defaultText);
            field5.setBounds(100,130,410,20);
            field5.setText(defaultText);
            button1.setBounds(100,10,100,20);
            button1.addActionListener(this);
            button2.setBounds(520,40,100,20);
            button2.addActionListener(this);
            button3.setBounds(520,70,100,20);
            button3.addActionListener(this);
            button4.setBounds(520,100,100,20);
            button4.addActionListener(this);
            button5.setBounds(520,130,100,20);
            button5.addActionListener(this);
            container.add(label1);
            container.add(button1);
            container.add(label2);
            container.add(field1);
            container.add(field2);
            container.add(button2);
            container.add(label3);
            container.add(field3);
            container.add(button3);
            container.add(label4);
            container.add(field4);
            container.add(button4);
            container.add(label5);
            container.add(field5);
            container.add(button5);
            setSize(640,200);
            setResizable(false);
            //Centre on the screen
            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
              int x = (int) ((d.getWidth() - getWidth()) / 2);
              int y = (int) ((d.getHeight() - getHeight()) / 2);
              setLocation(x,y);
            setVisible(true);
        private void sendMessageToServer(Message message){
             message.setId(id);
             timeStart = new java.util.Date().getTime();
             try{
                  client.sendMessageToServer(message);
             catch(IOException ioe){
                  System.out.println("Unable to send message to server");
          * Perform some action based on user interaction
          * @param ae - ActionEvent
        public void actionPerformed(ActionEvent e){
            Object o = e.getSource();
            String name;
            if(o == button1){
                 try{
                        JFileChooser fc = new JFileChooser();
                       fc.setVisible(true);
                      //return value is what the user presses in the open File dialog
                      int returnVal = fc.showOpenDialog(null);
                      //if they choose OK
                      if (returnVal == JFileChooser.APPROVE_OPTION) {
                             //file now references the selected
                             File file = fc.getSelectedFile();
                             //create a FileInputStream from file location
                             FileInputStream fis = new FileInputStream(file);
                             // Create the byte array to hold the data, the same size as the file
                             byte [] fileBytes = new byte[(int)file.length()];
                              // Read in the bytes from the file into the byte array
                              int offset = 0;
                              int numRead = 0;
                              while (offset < fileBytes.length &&
                             (numRead=fis.read(fileBytes, offset, fileBytes.length-offset)) >=
                             0) {
                                  offset += numRead;
                             // Ensure all the bytes have been read in
                             if (offset < fileBytes.length) {
                                  throw new IOException("Could not completely read file "+file.getName());
                             fis.close();
                             sendFile = new Message(SEND_FILE, fileBytes);
                             sendFile.setId(id);
                             sendFile.setFileName(file.getName());
                             byte [] myarray = ConvertData.messageToBytes(sendFile);
                             Message sendWarning = new Message(SEND_FILE_WARNING);
                               sendWarning.setFileName(file.getName());
                              sendWarning.setFileSize(myarray.length);
                              try{
                                    sendMessageToServer(sendWarning);
                               catch(Exception excep){
                                    System.out.println(excep);
                   catch(FileNotFoundException fnfe){
                        System.out.println("File Not Found Exception");
                   catch(java.io.IOException ioe){
                        System.out.println("IO Exception");
            else if(o == button2){
                   name = field1.getText();
                   String name2 = field2.getText();
                   Message renameMessage = new Message(RENAME_FILE);
                   renameMessage.setFileName(name);
                   renameMessage.setFileRename(name2);
                   sendMessageToServer(renameMessage);
                   field1.setText("Old name");
                   field2.setText("New name");
            else if(o == button3){
                   name = field3.getText();
                   Message deleteMessage = new Message(DELETE_FILE);
                   deleteMessage.setFileName(name);
                   sendMessageToServer(deleteMessage);
                   field3.setText(defaultText);
            else if(o == button4){
                   name = field4.getText();
                   Message createMessage = new Message(CREATE_FILE);
                   createMessage.setFileName(name);
                   sendMessageToServer(createMessage);     
                   field4.setText(defaultText);     
            else if(o == button5){
                   name = field5.getText();
                   Message downloadMessage = new Message(REQUEST_FILE);
                   downloadMessage.setFileName(name);
                   sendMessageToServer(downloadMessage);
                   field5.setText(defaultText);          
        public void processServerMessage(Message message){
             switch(message.getMessageHeader()){
                   case SEND_FILE_WARNING:
                   //change the download size to file size plus max message size
                   client.setDownload((int)message.getFileSize(),true);
                   //turn message back around with acknowledgement header
                   message.setMessageHeader(SEND_FILE_ACK);
                   //send the message
                   try{
                        sendMessageToServer(message);
                   catch(Exception e){
                        System.out.println(e);
                   break;
                   //server has acknowledged that the client wishes to send a message
                   //so send the message
                   case SEND_FILE_ACK:
                   //send the message
                   try{
                        sendMessageToServer(sendFile);
                   catch(Exception e){
                        System.out.println(e);
                   break;
                   //server is sending the file to the client.
                   case SEND_FILE:
                   //reset the download size to default
                   client.setDownload(DEFAULT_MESSAGE_SIZE,false);
                   //get the file name
                   File f = new File(message.getFileName());
                   //create the file chooser
                   JFileChooser fc = new JFileChooser();
                   //set selected file as thoe one downloaded
                   fc.setSelectedFile(f);
                   //get the button hit by the user
                 int returnVal = fc.showSaveDialog(null);
                 //if button is OK
                  if (returnVal == JFileChooser.APPROVE_OPTION){
                       File temp = fc.getCurrentDirectory();
                       String [] files = temp.list();
                       java.util.List alist = java.util.Arrays.asList(files);
                       f = fc.getSelectedFile();
                       if(alist.contains(message.getFileName())){
                            if(JOptionPane.showConfirmDialog(null,
                                       message.getFileName() + " already exists. Are you sure you want to overwrite this file?",
                                       "Instant Messenger: Quit Program",
                                       JOptionPane.YES_NO_OPTION,
                                       JOptionPane.QUESTION_MESSAGE,
                                       null) == JOptionPane.YES_OPTION) {
                                            //f = fc.getSelectedFile();
                                            System.out.println(f.toString());
                                           //this is where the file is copied
                                           try{
                                                FileOutputStream fs = new FileOutputStream(f);
                                                 fs.write(message.getFile());
                                                 fs.close();
                                           catch(IOException e){
                                                System.out.println(e);
                            else fc.hide();
                       else{
                            System.out.println("Here " + f.toString());
                            try{
                                 FileOutputStream fs = new FileOutputStream(f);
                                  fs.write(message.getFile());
                                  fs.close();
                            catch(IOException e){
                                 System.out.println(e);
                  else fc.hide();
                  break;
                  case INFORMATION:
                  timeEnd = new java.util.Date().getTime();
                  Long rtrip = timeEnd - timeStart;
                  String str = Long.toString(rtrip);
                  double d = Double.valueOf(str).doubleValue();
                  String fullMessage = message.getMessage();
                  fullMessage += " The total time taken for the last request was " +
                  rtrip + " milliseconds" + " or roughly " + d/1000 + " seconds";
                   JOptionPane.showMessageDialog(null,fullMessage,"Information",JOptionPane.INFORMATION_MESSAGE);
                   break;          
    class TestGUI{
        public static void main(String [] args){
             JFrame frame = new JFrame();
             GUI myGUI = new GUI(frame);
    }     If I change the GUI constructor to empty and extend JFrame instead of JDialog and change the call to super the ActionListener stops working. I've never known this problem before (i.e. I always use e.getSource()). I've even cast the object to a JButton to ensure that the right button is pressed and it is all ok.
    Is there something fundamentally wrong when I make those simple changes to JFrame?
    Regards,
    Chris

    I think rather the approach is your action handling in terms of the buttons. The giant actionPerformed method is difficult to read and maintain.
    I would recommend the following things:
    1. Split your ActionListener into multiple smaller listeners. There's not really even a reason for the GUI class to be an action listener. Instead of having GUI implement ActionListener and trying to keep all of the functionality in one place, use anonymous classes:
    button3.addActionListener(new ActionListener()
        public void actionPerformed(ActionEvent e)
            name = field3.getText();
            Message deleteMessage = new Message(DELETE_FILE);
            deleteMessage.setFileName(name);
            sendMessageToServer(deleteMessage);
            field3.setText(defaultText);
    button4.addActionListener(new ActionListener()
        public void actionPerformed(ActionEvent e)
            name = field4.getText();
            Message createMessage = new Message(CREATE_FILE);
            createMessage.setFileName(name);
            sendMessageToServer(createMessage);     
            field4.setText(defaultText);
    2. Only use the == operator on primitives. There are very few cases in which you can properly use the == operator on objects and, in every one of those cases I have experienced, the equals(Object) method produces the same result.
    3. Name your variables more descriptively. There is really very little reason for your buttons to be named button1, button2, and so on. Give them names that mean something. For example, button1 should be named something like uploadFileButton or buttonUpload. That will give us significant information about what it is expected to do, whereas button1 does not. You may be able to remember what button1 does, but you wrote the code. I keep having to refer back to the instantiation of the button to get a hint as to what it does and, in a few months' time, so will you. :) The same goes for your labels and fields, as well.
    I'm not sure why you aren't getting the behavior you want. However, have you checked to determine that the event source of the button click is actually the button when the whole thing is inside of a JFrame? I would expect it to be, but you never know. This is why I recommend using different ActionListeners for each button. That way, you can be sure of what caused the event.
    Just my 2c. Good luck to you. :)

  • Cisco css http keepalive is not working with GET command

    Dear all
    i have Cisco Css connected to Dell Server (via switch)
    Cisco CSS - 192.168.1.3 and Dell Server - 192.168.1.5
    Dell server is setup with windows 2009R2 and Apache HTTPD is version 2.2
    This server is dedicated to host multiple doamins with Apache lik
    www.abc.co.uk
    www.xyz.co.uk
    Now the clinet wants to setup the http keepalive  with specfic web page like /testpage.html  for all these domains. i have teseed with single URI. it is working the comamnds are
    config)# service serv1
    (config-service[serv1])# ip address 192.168.1.5
    (config-service[serv1])# keepalive type http
    (config-service[serv1])# keepalive method head    ( get i have not used due to hash mismatch with apche server, if i use GET it is not working)
    (config-service[serv1])# keepalive uri "/testpage.html"
    (config-service[serv1])# active
    It is working with single URI.  but how can i do the same thing for multiple doamins ?
    for multiple doamins do i need use script ? or can i use with commands ?
    if i need to use script the script is
    !no echo
    ! Filename: httptag-test
    ! Parameters: HostName WebPage HostTag
    ! Description:
    !       This script will connect to the remote host and do an HTTP
    !   GET method upon the web page that the user has asked for.
    !   This script also adds a host tag to the GET request.
    ! Failure Upon:
    !   1. Not establishing a connection with the host.
    !       2. Not receiving an HTTP status "200 OK"
    if ${ARGS}[#] "NEQ" "3"
            echo "Usage: httptag-test \'Hostname WebPage HostTag\'"
            exit script 1
    endbranch
    ! Defines:
    set HostName "${ARGS}[1]"
    set WebPage "${ARGS}[2]"
    set HostTag "${ARGS}[3]"
    ! Connect to the remote Host
    set EXIT_MSG "Connection Failure"
    socket connect host ${HostName} port 80 tcp
    ! Send the GET request for the web page
    set EXIT_MSG "Send: Failed"
    socket send ${SOCKET} "GET ${WebPage} HTTP/1.1\nHost: ${HostTag}\n\n"
    ! Send the HEAD request for the web page
    set EXIT_MSG "Send: Failed"
    socket send ${SOCKET} "HEAD ${WebPage} HTTP/1.1\nHost: ${HostTag}\n\n"
    ! Wait for a good status code
    set EXIT_MSG "Waitfor: Failed"
    socket waitfor ${SOCKET} "200 OK"
    no set EXIT_MSG
    socket disconnect ${SOCKET}sh w
    exit script 0
    in the script i have not used GET becasue, when CSS send GET request to apache it use hash, but apache is not able to respond with same hash and it shows that website is down. more information- click below url
    http://www.cisco.com/en/US/docs/app_ntwk_services/data_center_app_services/css11500series/v7.40/command/reference/CmdKeepC.html#wp1139668
    (config-keepalive) method
    I have uploaded in CSS with httptag-test file and applied these commands
    service comp.brit.co.uk-80
      keepalive port 80
      ip address 192.168.1.5
      keepalive frequency 10
    keepalive maxfailure 2
    keepalive retryperiod 10
    keepalive type script httptag-test "192.168.1.5 /testpage.html  www.abc.co.uk
    keepalive type script httptag-test "192.168.1.5 /testpage.html  www.xyz.co.uk
    but this script is not working
    my question is:
    1.do i need use script only to setup http keepalvie with webpage for multiple domains ?
    2.with out using script is there any solution like CICSCO  CSS commands  to setup http uril for multiple domains which are on 1 singl server.
    please help me asap

    Hello Muhammad,
    If you wish to use multiple domains for a URI  keep-alive check, and perform a HEAD request what Daniel mentioned is  correct.  You have to use a scripted keep-alive check on the service.  However, you should not use the default "ap-kal-httptag" script to do so  as it's limited to only 1 website (unless you modify the script).  You're best bet would be using the "ap-kal-httplist" script on the CSS  as it allows the checking of 2 different websites along with a webpage  to check for each site using HTTP HEAD method.
    !no echo
    ! Filename: ap-kal-httplist
    ! Parameters: Site1 WebPage1 Site2 WebPage2 [...]
    ! Description:
    !    This script will connect a list of sites/webpage pairs.  The
    !   user must simply supply the site, and then the webpage and
    !   we'll attempt to do an HTTP HEAD on that page.
    ! Failure Upon:
    !   1. Not establishing a connection with the host.
    !   2. Not receiving a status code 200 on the HEAD request on any
    !      one site.  If one fails, the script fails.
    ! Make sure the user has a qualified number of arguments
    if ${ARGS}[#] "LT" "2"
            echo "Usage: ap-kal-httplist \'WebSite1 WebPage1 WebSite2 WebPage2 ...'"
            exit script 1
    endbranch
    while ${ARGS}[#] "GT" "0"
            set Site "${ARGS}[1]"
        var-shift ARGS
        if ${ARGS}[#] "==" "0"
            set EXIT_MSG "Parameter mismatch: hostname present but webpage was not"
            exit script 1
        endbranch
        set Page "${ARGS}[1]"
        var-shift ARGS
        no set EXIT_MSG
        function HeadUrl call "${Site} ${Page}"
    endbranch
    exit script 0
    function HeadUrl begin
    ! Connect to the remote Host
    set EXIT_MSG "Connect: Failed to connect to ${ARGS}[1]"
    socket connect host ${ARGS}[1] port 80 tcp 2000
    ! Send the head request
    set EXIT_MSG "Send: Failed to send to ${ARGS}[1]"
    socket send ${SOCKET} "HEAD ${ARGS}[2] HTTP/1.0\n\n"
    ! Wait for the status code 200 to be given to us
    set EXIT_MSG "Waitfor: Failed to wait for '200' on ${ARGS}[1]"
    socket waitfor ${SOCKET} " 200 " 2000
    no set EXIT_MSG
    socket disconnect ${SOCKET}
    function HeadUrl end
    Rather  then modify the default "ap-kal-httplist" script on the CSS I would  simply define the arguments within the service configuration itself.   Something like the following (using your service example):
    service dell-192.168.1.5
    ip address 192.168.1.5
    keepalive type script ap-kal-httplist "www.abc.co.uk /testpage.html www.xyz.co.uk /testpage.html"
    active
    As  long as the server is configured to reply to host headers, and the page  is configured to retuen a "200 OK" the above service configuration  should work. If there are any errors simply run "show service  " to view why there was a failure. If there is a  failure, and the output from the command specified shows a line number  run the following command against the script to view at what point  (line) did the failure occur:
    show script ap-kal-httplist line-numbers
    Hope this helps!
    - Jason Espino

  • Getting my MiniMax working with my Airport Extreme

    I bought a 500GB MiniMax and an Airport Extreme (new style 802.11n) at the weekend. I've got the Airport Extreme working fine and am trying to use the MiniMax as a drive attached to the Airport Extreme via USB2.0. I want to attach to the MiniMax wirelessly via the Airport.
    Unfortunately I can't see the MiniMax hard drive when it is attached in this fashion.
    If I attach the MiniMax to my MacBook Pro running OSX 10.4.8 using USB2.0 then I can see it fine and it mounts OK. Also, if I attach a USB memory stick to the Airport Extreme then my MacBook Pro can also see and use it.
    Bizarrely, if I have the USB memory stick attached to the MiniMax and the MiniMax connected over USB2.0 to the Airport Extreme then my MacBook Pro can see and use the memory stick wirelessly but I still cannot locate the MiniMax as a hard drive.
    Firstly, I approached Iomega with the problem, to which their initial response was "not our problem, we can't help you". Hmmm.
    Then I went to Apple who were most helpful, we re-formatted the drives and checked everything. The Apple support guy then sends me a document (below) discussing the requirements to attach a hard drive to the Airport Extreme, he thinks the problem may be that the MiniMax doesn't have a block size of 512 bytes (which, apparently, is a pre-requisite for it to function). I can't find any reference to "block size" in any of the MiniMax's documentation ... does anybody know the block size for this device?
    I'm guessing that the MiniMax does have a 512 byte block size as I've seen reports from other users on here stating that they've got theirs working (but then, of course, they could be using the older style Airport Extreme instead of the new 802.11n version).
    Anybody got any ideas?
    Thanks!
    Damian
    AirPort Extreme (802.11n): USB storage device supported formats and protocols
    You can connect USB-based storage devices to an AirPort Extreme (802.11n). Learn which formats and protocols are supported.
    The AirPort Extreme (802.11n) supports USB storage devices that have a block size of 512 bytes, and are formatted as Mac OS Extended (HFS-plus), FAT16, or FAT32. Not all USB storage devices use a block size of 512 bytes.
    The AirPort Extreme (802.11n) shares storage devices based on the format used to initialize the storage device. For example, if HFS-plus formatting was used, AFP and SMB/CIFS protocols are used to share the device on the network. If FAT16 or FAT32 was used, SMB/CIFS protocols are used.
    The AirPort Extreme (802.11n) works with disks that have a single partition and are not RAID volumes (no more than one volume per physical disk).
    Note: Use AirPort Disk Utility to discover and mount AirPort Extreme-based volumes over the network.
    MacBook Pro   Mac OS X (10.4.8)  

    Damian,
    just a (not very helpful) note to say that I am having exactly the same trouble, with exactly the same kit which looks very nice stacked together but doesn't actually work. Bizarrely I have a different USB only hard drive plugged into the USB ports on the back of the Minimax which the AE sees but it still doesn't see the Minimax.
    I am sure it worked briefly once but I had to change some settings on the AE and it then vanished never to return - I am now thinking that my mind was playing tricks on me and that that never happened.
    I have rebooted kit in every conceivable order but still no luck, the only other observation I would make is that when I plug the Minimax and the other USB only drive into my iMac that the USB only drive mounts straight away whilst the Minimax takes quite a while to mount.... I wonder if the AE gets bored waiting for the Minimax to come to life - who knows its all black magic to me
    Steve

Maybe you are looking for

  • How to add a link like "Export" to schedule the report in dashboard

    when i add a report into dashboard, i can "analyze","edit" or "export" it using report links. but now if i browse my dashboard, i find a report which i am interested in, and i want to schedule it directly in dashboard. i suppose it will be a botton o

  • Where are my photos saved?

    I am a Mac novice.  I can see my photos in iPhoto, but I can't see them in Finder.  Does anyone know where my photos are actually saved? Note - I am not using iCloud for photos.

  • Outlook calender sync stopped working

    3 of our office computers stopped syncing outlook to our Iphones 2 PC's are running outlook 2003 (both 3G Iphones) and 1 PC is running Outlook 2007 (Iphone 4). we have tried resetting the sync history also have tried shuting down norton as all 3 PC's

  • Error Message: Object could not be activated

    Hello experts, Once I try to activate a DSO the system shows the following message: Object ZZABCDE could not be activated; The errors  are: -The creation of the export data source failed (RSBM035), whilst generating the export Infosource, the metadat

  • Applying SUBTOTAL to multiple condition SUMPRODUCT

    Hi I have created the following formula which works: =SUMPRODUCT(--($AG$10:$AG$1999<>0),$U$10:$U$1999/SUMIF($AG$10:$AG$1999,"<>"&0,$U$10:$U$1999),$X$10:X$1999) Column AG is a "type" filter where I've assigned 0 values to data I need to ignore when do