1

OS: CentOS release 5.8 (Final)
Не могу решить эту проблему, не подскажете в чем дело

yum update

--> Running transaction check
---> Package mod-php-5.2-apache2-zend-server.i386 0:5.2.17-271 set to be updated
---> Package mod-php-5.3-apache2-zend-server.i386 0:5.3.9-273 set to be updated
--> Processing Dependency: php = 5.3.10-5.el5.art for package: php-devel-5.3.10-5.el5.art.i386
--> Processing Conflict: mod-php-5.3-apache2-zend-server-5.3.9-273.i386 conflicts mod-php-5.2-apache2-zend-server
--> Processing Conflict: mod-php-5.2-apache2-zend-server-5.2.17-271.i386 conflicts mod-php-5.3-apache2-zend-server
--> Finished Dependency Resolution
Error: mod-php-5.2-apache2-zend-server conflicts with mod-php-5.3-apache2-zend-server
Error: mod-php-5.3-apache2-zend-server conflicts with mod-php-5.2-apache2-zend-server
Error: Package: php-devel-5.3.10-5.el5.art.i386 (@atomic)
Requires: php = 5.3.10-5.el5.art
Removing: php-5.3.10-5.el5.art.i386 (@atomic)
php = 5.3.10-5.el5.art
Obsoleted By: mod-php-5.2-apache2-zend-server-5.2.17-271.i386 (Zend)
Not found
Available: php-5.1.6-32.el5.i386 (base)
php = 5.1.6-32.el5
Available: php-5.2.17-1.el5.art.i386 (atomic)
php = 5.2.17-1.el5.art
Available: php-5.3.8-2.el5.art.i386 (atomic)
php = 5.3.8-2.el5.art
Available: php-5.3.9-3.el5.art.i386 (atomic)
php = 5.3.9-3.el5.art
Available: php-5.3.9-4.el5.art.i386 (atomic)
php = 5.3.9-4.el5.art
Available: php-5.2-fcgi-zend-server-5.2.17-269.i386 (Zend)
php = 5.2.17-269
Available: php-5.3-fcgi-zend-server-5.3.9-270.i386 (Zend)
php = 5.3.9RC3-270


yum list installed | grep php


php.i386 5.3.10-5.el5.art @atomic
php-cli.i386 5.3.10-5.el5.art @atomic
php-common.i386 5.3.10-5.el5.art @atomic
php-devel.i386 5.3.10-5.el5.art @atomic
php-gd.i386 5.3.10-5.el5.art @atomic
php-mbstring.i386 5.3.10-5.el5.art @atomic
php-mcrypt.i386 5.3.10-5.el5.art @atomic
php-mysql.i386 5.3.10-5.el5.art @atomic
php-pdo.i386 5.3.10-5.el5.art @atomic
php-pear.noarch 1:1.7.2-2.el5.art @atomic
php-pecl-memcache.i386 3.0.6-1.el5.art @atomic
php-xml.i386 5.3.10-5.el5.art @atomic

2

Очевидно конфликт пакетов из сторонних репозиториев.
Настраивай приоритеты или отключай конфликтующие репы.

3

Отключил "Zend", вроде как все хорошо и дело сдвинулось, и тут как понеслось...!!!

Transaction Test Succeeded                         
Running Transaction                                 
  Installing     : mod-php-5.2-apache2-zend-server-5.2.17-271.i386                                             1/1
Останавливается httpd: [  OK  ]                     
Traceback (most recent call last):                 
  File "/usr/lib/python2.4/site-packages/yum/rpmtrans.py", line 387, in callback
    self._instCloseFile(  bytes, total, h )
  File "/usr/lib/python2.4/site-packages/yum/rpmtrans.py", line 457, in _instCloseFile
    self._scriptout(txmbr.po)
  File "/usr/lib/python2.4/site-packages/yum/rpmtrans.py", line 246, in _scriptout
    self.base.history.log_scriptlet_output(data, msgs)
  File "/usr/lib/python2.4/site-packages/yum/history.py", line 387, in log_scriptlet_output
    (tid, line) VALUES (?, ?)""", (self._tid, error))
  File "/usr/lib/python2.4/site-packages/yum/sqlutils.py", line 155, in executeSQLPyFormat
    return cursor.execute(q, p)
  File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 249, in execute
    parms = (self._unicodeConvert(parms[0]),)
  File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 217, in _unicodeConvert
    converted_obj[k] = v.encode(*self.con.encoding)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-14: ordinal not in range(128)
error: python callback <bound method RPMTransaction.callback of <yum.rpmtrans.RPMTransaction instance at 0xb32ebac>> failed, aborting!

4

А с python ты там ничего не нахимичил?
Попробуй сделать yum clean all

5

Почистил

yum clean all

, но ничего не изменилось.

Нахимичил с python: д я на нем даже смотрет боюсь

6

Попробуй остановить httpd вручную и после этого обновиться.

7

Покажите список репозиториев и напишите, какие из них включены

8

и если используете php от Atomic, то удалите более старые версии и исключите php из стандартных реп в конфиге

9

"enable repository"

yum repolist all | grep enabled

repo id                  repo name                               status
addons                   CentOS-5 - Addons                       enabled:      0
base                     CentOS-5 - Base                         enabled:  2725
c5-testing               CentOS-5 Testing                        enabled:     30
epel                     Extra Packages for Enterprise Linux 5 - enabled:  5641
extras                   CentOS-5 - Extras                       enabled:    276
home_ericgearhart_zabbix Zabbix (CentOS_CentOS-5)                enabled:     45
rpmforge                 RHEL 5 - RPMforge.net - dag             enabled: 11278
updates                  CentOS-5 - Updates                      enabled:     92

"atomic" repo специально убрал, хотя можно его включить, но как мне кажется тут дело с python'om уже не связано с ним, а с траблы с yum'om.

10

а может поможет пересобрать python или обновить на более новый, и как правильно это сделать?
на данный момент стоить Python 2.4.3

11

если уж Вы смогли вывести результаты yum repolist all | grep enabled, то с питоном проблем нет

а вот у самого питона проблема с локалью что ли?

кроме того. если у Вас стоит php сейчас с atomic, то выключать его смысла нет

12 (22.03.2012 17:47:23 отредактировано raba)

короче говоря, я устал!

..Всю эту байду я начал из-за php53 и ZendOptimizer. Уже, насколько я понял php53 с ZendOptimizer'om не дружат и рекомендуют ставить ZendGuard. Вроде как прописал но сайты с zend'om не пошли. решил поставить zendserver (у него же там "все включено"), но при попытке его ставить, ругается на те первоначальные ошибки который указал....

Сейчас стоить php53 от "atomic", и ошибки пока нету с yum'om.

Если кто знает как подружит php53 c Zend'om буду очен признателен:

php -v:

PHP Warning:  PHP Startup: oci8: Unable to initialize module
Module compiled with module API=20060613
PHP    compiled with module API=20090626
These options need to match
in Unknown on line 0
PHP 5.3.10 (cli) (built: Feb  3 2012 08:09:39)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Zend Guard Loader v3.3, Copyright (c) 1998-2010, by Zend Technologies

/etc/php.d/zend.conf:

zend_extension=/usr/lib/php/modules/ZendGuardLoader.so

Ошибки такие:

[Thu Mar 22 17:44:11 2012] [error] [client 127.0.0.1] PHP Fatal error:  Incompatible file format:  The encoded file has format major ID 1, whereas the Loader expects 4 in /var/www/html/testsite/modules/main/classes/function.php on line 0

13

raba пишет:

Уже, насколько я понял php53 с ZendOptimizer'om не дружат

с чего Вы взяли-то?
в той же репе atomic есть php-zend-optimizer

14 (22.03.2012 18:48:13 отредактировано raba)

ага, только php и zend из одного репозитария конфликтуют друг с друга

sudo yum install php-zend-optimizer

Loaded plugins: fastestmirror, security, verify
Loading mirror speeds from cached hostfile
* atomic: www7.atomicorp.com
* base: mirror.awanti.com
* epel: mirror.awanti.com
* extras: mirror.awanti.com
* rpmforge: ftp-stud.fht-esslingen.de
* updates: mirror.awanti.com
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
---> Package php-zend-optimizer.i386 1:3.3.9-2.el5.art set to be updated
--> Processing Conflict: php-5.3.10-5.el5.art.i386 conflicts php-zend-optimizer
--> Finished Dependency Resolution
Error: php conflicts with php-zend-optimizer
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

15

запустите сначала это:

yum-complete-transaction

у Вас незавершенные транзакции есть

16

sudo yum-complete-transaction

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* atomic: www7.atomicorp.com
* base: mirror.awanti.com
* epel: mirror.awanti.com
* extras: mirror.awanti.com
* rpmforge: ftp-stud.fht-esslingen.de
* updates: mirror.awanti.com
Checking for new repos for mirrors
There are 17 outstanding transactions to complete. Finishing the most recent one
The remaining transaction had 5 elements left to run
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
Nothing in the unfinished transaction to cleanup.
Cleaning up completed transaction file

sudo yum install php-zend-optimizer

Loaded plugins: fastestmirror, security, verify
Loading mirror speeds from cached hostfile
* atomic: www7.atomicorp.com
* base: mirror.awanti.com
* epel: mirror.awanti.com
* extras: mirror.awanti.com
* rpmforge: ftp-stud.fht-esslingen.de
* updates: mirror.awanti.com
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
--> Running transaction check
---> Package php-zend-optimizer.i386 1:3.3.9-2.el5.art set to be updated
--> Processing Conflict: php-5.3.10-5.el5.art.i386 conflicts php-zend-optimizer
--> Finished Dependency Resolution
Error: php conflicts with php-zend-optimizer
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

17

ааа, не, моя ошибка... php-zend-optimizer для php до 5.3, теперь только zend-guard

18

ну и я о том же )), и что теперь делать )   :O

19

теперь надо разбираться, почему не работает с гуардом

20

cat ZendGuardLoader-php-5.3-linux-glibc23-i386/README.txt

(все сделал)

1. Extract the Zend Loader package.

2. Locate and extract the ZendGuardLoader.so (Linux) or ZendLoader.dll (Windows) that corresponds to your php version.

3. Add the following line to your php.ini file for loading the ZendGuardLoader:
   Linux and Mac OS X:      zend_extension=<full_path_to_ZendGuardLoader.so>
   Windows non-thread safe: zend_extension=<full_path_to_ZendLoader.dll>
     
4. Add an aditional line to your php.ini for enabling ZendGuardLoader
  ; Enables loading encoded scripts. The default value is On
  zend_loader.enable=1
     
5. Optional:

..необезательное..

при обращение к странице зашифрованной zend'om (старый) пишет:

[Thu Mar 22 20:01:30 2012] [error] [client 127.0.0.1] PHP Fatal error:  Incompatible file format:  The encoded file has format major ID 1, whereas the Loader expects 4 in /var/www/html/testsite/modules/main/classes/function.php on line 0

21

скрипты нужно перекодировать с помощью Zend Guard

22

zend-optimizer и zend-guard не совместимы в этом плане

23

Это я понимаю, только клиент заплатил "Студио по разработке сайтов" за сайт, выдали ему сайт, закодировали Zendom и работай, а что софт обновляется, всем до лампочки. Один получил сайт, второй получил денежки, и все довольны, думаю клиент не найдет те самые разработчики, чтоб перекодировать сайт, и поэтому мне нужно обеспечить его работы, что не очень-то у меня получается пока ))

24

как вариант, можно попробовать вот по этому рецепту (http://www.globatel.ru/blog/byuzand/28.php), но будет ли положительный результат

25 (23.03.2012 12:46:47 отредактировано raba)

у меня отрицательный

...я даже умудрился поставить Сам ZendServer в триал вер. и опять нифига. Показывает он такую ошибку:
..(site/index.php)

Class 'db_client' not found

26

тогда вопрос тупой:
если имеется CentOS release 6.2 (Final), как поставит php51 OR php52?

27

хм, нормальным образом - никак... от установки 6.2 суть-то не изменится

в таком случае. гораздо проще внести php5.3, поставить 5.2 и наслаждаться
только если решитесь, потренируйтесь на кошках

28

это и есть кошка, так что думаю через пол часа php53 не станет, но только с какого репозитария доступен php5[1/2]?

29

со стандартного, если дистр 5 версии... atomic нужно будет только отключить совсем

30

в стандартной репе - 5.1 и 5.3 есть, в IUS Community Project - 5.2...
а вообще, можете посмотреть. что в каких репах есть на pkgs.org