2013-04-20 3 views
1

Я получаю много этих ошибок в моем апача файле журнала:PHP неожиданный «(», но нет «(»

PHP: syntax error, unexpected '(' in /etc/php5/apache2/php.ini on line 3 

Но это первые 15 строк /etc/php5/apache2/php.ini:

 
[PHP] 

;;;;;;;;;;;;;;;;;;; 
; About php.ini ; 
;;;;;;;;;;;;;;;;;;; 
; PHP's initialization file, generally called php.ini, is responsible for 
; configuring many of the aspects of PHP's behavior. 

; PHP attempts to find and load this configuration from a number of locations. 
; The following is a summary of its search order: 
; 1. SAPI module specific location. 
; 2. The PHPRC environment variable. (As of PHP 5.2.0) 
; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) 
; 4. Current working directory (except CLI) 
; 5. The web server's directory (for SAPI modules), or directory of PHP 

первая незакомментированная линия php.ini:

engine = On 

short_open_tag = Off 

asp_tags = Off 

precision = 14 

y2k_compliance = On 

Я думал, что это будет проблема кэширования, но я просто отключил мой PHP кеширование (это был APC)

Я не могу найти ( s, которых нет в комментариях во всем файле.

Как еще мог PHP думать, что есть файл ( в файле, когда его нет?

+5

Что такое третья строка без комментариев? –

+2

пришлите нам строки 0 - 15, пожалуйста, – iConnor

+0

Возможно, это с другим файлом, объединенным с этим – Sedz

ответ

3

; в php.ini означает комментарий. Сообщение не включает строки комментариев. Таким образом, строка 3 означает 3-я строка после верхних комментариев.

EDIT 1: Убедитесь, что ваш открываем правильный php.ini файл, который PHP реально использовать

EDIT 2: использовать phpinfo(); и на странице результатов см Loaded Configuration File значение. он показывает вам файл php.ini, который в настоящее время используется. Примечание: перезагрузить апач

+0

Спасибо. Я проверил, и я использую правильный файл php.ini. – ACarter

1

Я стараюсь имитировать ситуацию:

~]$ php --ini 
Configuration File (php.ini) Path: /etc 
Loaded Configuration File:   /etc/php.ini 
Scan for additional .ini files in: /etc/php.d 
Additional .ini files parsed:  /etc/php.d/curl.ini, 
/etc/php.d/fileinfo.ini, 
/etc/php.d/json.ini, 
/etc/php.d/mbstring.ini, 
/etc/php.d/phar.ini, 
/etc/php.d/zip.ini 

Так я иду в /etc/php.ini и раскомментируйте один из линий линии с «(»

~]$ vi /etc/php.ini 
[PHP] 

;;;;;;;;;;;;;;;;;;; 
; About php.ini ; 
;;;;;;;;;;;;;;;;;;; 
; PHP's initialization file, generally called php.ini, is responsible for 
; configuring many of the aspects of PHP's behavior. 

; PHP attempts to find and load this configuration from a number of locations. 
; The following is a summary of its search order: 
; 1. SAPI module specific location. 
; 2. The PHPRC environment variable. (As of PHP 5.2.0) 
; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) 
; 4. Current working directory (except CLI) 
; 5. The web server's directory (for SAPI modules), or directory of PHP 
(otherwise in Windows) 
; 6. The directory from the --with-config-file-path compile time option, or the 

Теперь я проверить, есть ли уведомление об ошибке:

~]$ php --ini 
PHP: syntax error, unexpected '(' in /etc/php.ini on line 16 
Configuration File (php.ini) Path: /etc 
Loaded Configuration File:   /etc/php.ini 

Да, и ошибка, но это показывает, правильный номер строки, не игнорируя прокомментированные строки. Я также получил то же сообщение об ошибке в apache/error_log, когда я перезапустил apache.

PHP: syntax error, unexpected '(' in /etc/php.ini on line 16 

Файлы php работали, но не отправили ошибку о ini в журнал.

Итак, почему бы вам не изменить ваш /etc/php5/apache2/php.ini? Просто удалите несколько строк и посмотрите, не переместится ли сообщение об ошибке на другой номер.

Обязательно перезапустите apache после его изменения.

+0

Спасибо. Выполнено точно так же, как и у вас, и на этот раз он помещает как ошибки, так и один в строке 3, один по строке 16. – ACarter

+0

Так как насчет стирающей линии 2,3,4,5,6? – ndasusers

Смежные вопросы