cyon

Well-Known Member
PartnerNOC
Jan 15, 2003
314
0
241
Hello,

Is there an option to compile the cPanel PHP (/usr/local/cpanel/3rdparty/bin/php) with your one options? I need the SOAP (PHP5) extension within the skin.

Otherwise i've to use nuSOAP or PEAR:SOAP.

Thanks for your advise.
 

apscinsspl

Well-Known Member
Mar 15, 2008
112
0
66
Hello,

In order to compile php with soap you need to login to WHM--update apache -- select your configuration and keep proceeding till you get the exhaustive list option where you will find soap, check the box and compile apache.

After that soap should be enabled for you.
 

cPanelKenneth

cPanel Development
Staff member
Apr 7, 2006
4,607
80
458
cPanel Access Level
Root Administrator
Hello,

In order to compile php with soap you need to login to WHM--update apache -- select your configuration and keep proceeding till you get the exhaustive list option where you will find soap, check the box and compile apache.

After that soap should be enabled for you.
That only updates the system PHP installation, not the one cPanel uses.

To update the binary cPanel uses, create a new profile in EasyApache wherein you enable SOAP support for PHP. Save the profile and don't build. Then copy your new profile like this (using example.yaml as the profile file name):

Code:
# mv /scripts/makecpphp.profile.yaml /scripts/makecpphp.profile.yaml.backup
# cp /var/cpanel/easy/apache/profile/custom/example.yaml /scripts/makecpphp.profile.yaml
# /scripts/makecpphp
The /scripts/makecpphp command builds a new PHP binary for cPanel to use.
 

cPanelDavidG

Technical Product Specialist
Nov 29, 2006
11,212
13
313
Houston, TX
cPanel Access Level
Root Administrator
Hi guys, is this stil valid?

http://forums.cpanel.net/f4/soap-extension-cpanel-php-98129.html#post448857

Couldn't find .yaml files on /scripts/

Thanks
The profile that /scripts/makecpphp uses nowadays is stored in /var/cpanel/easy/apache/profle/makecpphp.profile.yaml. The easiest way to create one of these profiles is to go through EasyApache, click on Exhaustive Options List in Step 5 and instead of building, just saving the profile. This profile will be saved in /var/cpanel/easy/apache/profile/custom/. I recommend making a backup of makecpphp.profile.yaml before overwriting it.
 

Spiral

BANNED
Jun 24, 2005
2,018
8
193
EasyApache has the option to setup SOAP but as your subject says that you do not want to use EasyApache, I might mention that it is very easy to manually install this as well and for that one is pretty much just compiling PHP with the "--enable-soap" configure option:
Code:
# cd /usr/local/src
# wget http://us2.php.net/get/php-5.2.10.tar.bz2/from/this/mirror
# tar zxvf ./php-5.2.10.tar.bz2
# cd php-5.2.10
# make clean
# ./configure --enable-soap [b]!!!YOUR OTHER OPTIONS HERE!!![/b]
# make
# make test
# make install
(Get !!!YOUR OTHER OPTIONS HERE!!! by looking at your phpinfo() screen)
 

touma

Member
Apr 13, 2004
22
0
151
São Paulo - Brasil
Guys,

I was trying to change on hand the line Cpanel::Easy::PHP5::SOAP: 0 to 1, but found on /scripts/makecpphp the system '/scripts/cpanel_easy_sanity_check', '--quiet'; command that overwrites the makecpphp.profile.yaml file on every run.

It's safe to disable this line? If it is, a cpanel update won't bring back this line?

Can i manually change the yaml file?

Thanks!
 

Secmas

Well-Known Member
Feb 18, 2005
388
21
168
That only updates the system PHP installation, not the one cPanel uses.

To update the binary cPanel uses, create a new profile in EasyApache wherein you enable SOAP support for PHP. Save the profile and don't build. Then copy your new profile like this (using example.yaml as the profile file name):

Code:
# mv /scripts/makecpphp.profile.yaml /scripts/makecpphp.profile.yaml.backup
# cp /var/cpanel/easy/apache/profile/custom/example.yaml /scripts/makecpphp.profile.yaml
# /scripts/makecpphp
The /scripts/makecpphp command builds a new PHP binary for cPanel to use.
Is this still needed or with the new easyapache and/or whm is not required anymore?
 

cPanelDon

cPanel Quality Assurance Analyst
Staff member
Nov 5, 2008
2,544
13
268
Houston, Texas, U.S.A.
cPanel Access Level
DataCenter Provider
Twitter
Here is a revised set of commands (where your custom build profile file name is "example.yaml"):
Code:
# mv /var/cpanel/easy/apache/profile/makecpphp.profile.yaml /var/cpanel/easy/apache/profile/makecpphp.profile.yaml.backup
# cp /var/cpanel/easy/apache/profile/custom/example.yaml /var/cpanel/easy/apache/profile/makecpphp.profile.yaml
# /scripts/makecpphp
 

t00r

Registered
Sep 16, 2009
4
0
51
Guys,

I was trying to change on hand the line Cpanel::Easy::PHP5::SOAP: 0 to 1, but found on /scripts/makecpphp the system '/scripts/cpanel_easy_sanity_check', '--quiet'; command that overwrites the makecpphp.profile.yaml file on every run.

It's safe to disable this line? If it is, a cpanel update won't bring back this line?

Can i manually change the yaml file?

Thanks!
i have a similar problem, please help me, how can i setup the SOAP ext.
 

t00r

Registered
Sep 16, 2009
4
0
51
Here is a revised set of commands (where your custom build profile file name is "example.yaml"):
Code:
# mv /var/cpanel/easy/apache/profile/makecpphp.profile.yaml /var/cpanel/easy/apache/profile/makecpphp.profile.yaml.backup
# cp /var/cpanel/easy/apache/profile/custom/example.yaml /var/cpanel/easy/apache/profile/makecpphp.profile.yaml
# /scripts/makecpphp
when i do /scripts/makecpphp the /scripts/cpanel_easy_sanity_check in makecpphp everything rewrite like was in previous file. please help me
 

cPanelDon

cPanel Quality Assurance Analyst
Staff member
Nov 5, 2008
2,544
13
268
Houston, Texas, U.S.A.
cPanel Access Level
DataCenter Provider
Twitter
when i do /scripts/makecpphp the /scripts/cpanel_easy_sanity_check in makecpphp everything rewrite like was in previous file. please help me
What method is being used to modify the EasyApache build profile?

To help clarify, what is the precise indication that "everything" is being rewritten like the (default?) previous file?
 

cPanelDon

cPanel Quality Assurance Analyst
Staff member
Nov 5, 2008
2,544
13
268
Houston, Texas, U.S.A.
cPanel Access Level
DataCenter Provider
Twitter
What method is being used to modify the EasyApache build profile?

To help clarify, what is the precise indication that "everything" is being rewritten like the (default?) previous file?
Please disregard my last reply as quoted above. When testing further I was able to reproduce the issue as described; to the best of my knowledge I believe this current behavior is intended by design.

Guys,

I was trying to change on hand the line Cpanel::Easy::PHP5::SOAP: 0 to 1, but found on /scripts/makecpphp the system '/scripts/cpanel_easy_sanity_check', '--quiet'; command that overwrites the makecpphp.profile.yaml file on every run.

It's safe to disable this line? If it is, a cpanel update won't bring back this line?

Can i manually change the yaml file?

Thanks!
when i do /scripts/makecpphp the /scripts/cpanel_easy_sanity_check in makecpphp everything rewrite like was in previous file. please help me
In regard to modifying the stock-default EasyApache3 (EA3) build profile for "makecpphp" we are considering and evaluating ways simplify the process; for reference, this feature enhancement is being tracked via the following internal case ID number: #30130

In the meantime here are a set of steps as an alternative to the last revised set of commands.

1.) Prepare and save the build profile using EasyApache, then copy the newly-saved build profile; in the following command replace "example.yaml" with the original file name of your custom build profile:
Code:
# cp -pv /var/cpanel/easy/apache/profile/custom/example.yaml /var/cpanel/easy/apache/profile/makecpphp_custom.profile.yaml
2.) Save a fresh backup of the original script "makecpphp":
Code:
# cp -pv /scripts/makecpphp /scripts/makecpphp.backup
3.) For reference purposes, check the existing build profile path before it's updated in the next step:
Code:
# grep "^my \$makecpphp_profile" /scripts/makecpphp
4.) Update the variable defining the build profile path used by the script:
Code:
# perl -p -i -e 's/makecpphp\.profile\.yaml/makecpphp_custom\.profile\.yaml/g' /scripts/makecpphp
5.) For confirmation, verify the build profile path was updated correctly:
Code:
# grep "^my \$makecpphp_profile" /scripts/makecpphp
6.) If the path was updated successfully, proceed to run the script "makecpphp":
Code:
# /scripts/makecpphp

The following command may be used if needing to restore the "makecphp" script from the backup that was saved earlier:
Code:
# cp -pv /scripts/makecpphp.backup /scripts/makecpphp
 
Last edited: