# حدث Php على اوبنتو بنفسك عشان كونيكال مش ناوية


قالي [أبو يوسف](http://www.aboyousif.net/) على [حاجة في Overloading](http://www.php.net/__call#language.oop5.overloading.methods) وانا بجربها لقيتها جديدة PHP 5.3 فقط، فدورت ازاي احدث PHP على اوبنتو لاني عارف انهم مش هيتحث لوحدو إلا مع النسخة الجديدة ولكن الغريب اني لقيت [هنا](https://wiki.ubuntu.com/MeetingLogs/Server/20090707) انهم بيقولو مش هيحدثو PHP على اوبنتو لأن حتى الأن suhosin patch منزلش ل php 5.3.

طبعاً الكلام ده قديم فالأجتماع كان من أكثر من 3 شهور ودلوقتي suhosin patch متاحة ل php 5.3 وقبل ما أي حد يقولي ده فريق ubuntu server اديني قولتها ولكن أتوقع أن هما الي ليهم الأحقية في فرض قرار زي ده على باقي التوزيهات فاكيد أحنا بناخد بالنا أن التوزيعات متشابهة في أساياتها وفي كمالياتها كمان، على العموم دي الطريقة ونتمنى نلاقيها بعد 5 أيام لما تنزل النسخة الجديدة بإذن الله.

اكتب السطر ده في الترمينال

```bash
sudo gedit /etc/apt/sources.list
```

هيفتح ملف ضيف السورسات دول في اخره

```bash
deb http://php53.dotdeb.org stable all
deb-src http://php53.dotdeb.org stable all
```

وبعدها احفظ وأقفل، واكتب السطر ده في الترمينال عشان يسطب

```bash
apt-get update && apt-get dist-upgrade
```

تمام كده عندك PHP 5.3 ولو انت بتستخدم short tags فهي هتكون مقفولة تفتحها بانك تكتب السطر ده في الترمينال

```bash
sudo gedit /etc/php5/apache2/php.ini
```

هيفتح ملف أبحث فيه عن

```ini
short_open_tag = Off
```

واستبدلها بـ

```ini
short_open_tag = On
```

وطبعاً لازم تعيد تشغيل الأباتشي عن طريق كتابة الأمر ده في الترمينال

```bash
sudo service apache2 restart
```

وياريت بلاش تستخدمها بعد كده لأني لسه قاري دلوقتي انها هتتقفل في PHP6

تحديث : لو ظهر معاك الخطا ده وانت بتسطب ال php5-mcrypt

```bash
php5-mcrypt: Depends: libltdl3 (>= 1.5.2-2) but it is not installable
```

فسطب ده الأول ([64](http://packages.debian.org/lenny/amd64/libltdl3/download) - [x86](http://packages.debian.org/lenny/i386/libltdl3/download)) وتتحل المشكلة بإذن الله

[شكراً لصاحب المستودع](http://www.dotdeb.org/2009/07/03/php-5-3-0-final-preview-packages-available-for-debian-lenny/)
